以编程方式禁用水平滚动到UITextView

我正在寻找一种方法来禁用水平滚动的UITextView编程,这很容易通过接口生成器,但由于我devise的视图以编程方式,我无法find一种方法来做到这一点,我已经把它GOOGLE但是,我得到的最多的是这样的:

如何以编程方式停止水平滚动?

它不工作。 任何提示?

self.textViewOpenedRect = CGRectMake(20, 20, 280, 130); self.textView = [[UITextView alloc] initWithFrame: self.textViewOpenedRect]; self.textView.contentInset = UIEdgeInsetsMake(5, 5, 5, 5); self.textView.delegate = self; self.textView.backgroundColor = [UIColor clearColor]; self.textView.contentSize = CGSizeMake( self.textView.frame.size.height, self.textView.contentSize.height); self.textView.alwaysBounceHorizontal = NO; self.textView.bounces = NO; 

更新:显然,问题是由于该行代码:

 self.textView.contentInset = UIEdgeInsetsMake(5, 5, 5, 5); 

我用这个框架和文本之间有一点空间。 。 .am我正确地做?

这应该有所帮助… UITextViewUIScrollView一个子类,所以这很容易实现。

 mytextView.contentSize = CGSizeMake(mytextView.frame.size.height,mytextView.contentSize.height); mytextView.showsHorizontalScrollIndicator = NO; 

只是在这里添加一点,即使在禁用水平滚动之后,“左右滚动的一小部分”也是由ContentInsets引起的。 以下禁用:

 self.textView.contentInset = UIEdgeInsetsMake(5, 0, 5, 0); 

自定义插入我发现我的最佳解决scheme是inheritanceUITextView,然后在layoutSubviews中调用以下代码。

 -(void) layoutSubviews { // always keep content offset at x = 0 self.contentOffset = CGPointMake(0, self.contentOffset.y ); [super layoutSubviews]; } 

希望这有助于某人。