在UITextView中禁用水平滚动

时间:2014-07-30 07:00:16

标签: ios objective-c ios6 uiscrollview uitextview

您好:我正在构建一个支持iOS 6及更高版本的应用。我在整个应用程序中都有一些UITextView,我注意到在iOS 6上,文本视图可以水平滚动。在iOS 7上,它们只能垂直滚动。有没有办法限制滚动,以便它只能垂直滚动?

我查看了其他一些类似的问题,但我不想在UILabel添加UIScrollView

非常感谢任何帮助!

修改

使用以下两行时(根据建议的答案),在设置内容插入时,这仍然不起作用。任何人都知道如何解决这个问题?

尝试禁用滚动:

tView.contentSize = CGSizeMake(tView.frame.size.width, tView.contentSize.height);
tView.showsHorizontalScrollIndicator = FALSE;

插图:

if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_6_1) {
      tView.contentInset = UIEdgeInsetsMake(kTextViewInsets, kTextViewInsets, kTextViewInsets, kTextViewInsets);
} else {
      tView.textContainerInset = UIEdgeInsetsMake(kTextViewInsets, kTextViewInsets, kTextViewInsets, kTextViewInsets);
}

2 个答案:

答案 0 :(得分:3)

我会继承UITextView并覆盖setContentOffset

- (void)setContentOffset:(CGPoint)contentOffset
{
    super.contentOffset = CGPointMake(0.0, // Ignore the passed offset. Could also use self.contentOffset.x
                                      contentOffset.y);
}

答案 1 :(得分:0)

试试这个 -

mytextView.contentSize = CGSizeMake(mytextView.frame.size.width,HEIGHT_YOU_WANT);

mytextView.showsHorizontalScrollIndicator = NO;

还要看一下SO Question可能对你有所帮助。