带链接的UITextView:禁用滚动,启用用户交互

时间:2014-02-15 16:43:32

标签: ios objective-c uitextview

我有一个UITextView我正在使用其中有可点击链接(即html链接)。我已将滚动设置为禁用。

默认情况下,“User Interaction Enabled”为false,并且不会进行滚动。但是,为了使链接可被点击,“User Interaction Enabled”必须为true。鉴于此,即使禁用滚动,如果文本超出UITextView的高度,仍可以滚动文本。

我的文字应该适合UITextView,所以大多数情况下这不是问题,但有时底部会有额外的空间,它会切断几行,我不想要永远允许滚动。

在这种情况下,有没有办法强行禁用滚动?

2 个答案:

答案 0 :(得分:3)

如何通过UITextView委托禁用垂直滚动,如下所示:

- (void)scrollViewDidScroll:(id)scrollView
{
  CGPoint origin = [scrollView contentOffset]; 
  [scrollView setContentOffset:CGPointMake(origin.x, 0.0)];
}

答案 1 :(得分:1)

UPD:

1)据我所知,你只使用textview来显示带链接的文本,没有编辑或滚动。如果使用Interface Builder添加它 - 请确保您已完成编辑,滚动和选项选项,如屏幕截图所示。但是可能会选择进行URL检测。

Utilities->Attributes inspector

或者使用属性editable,selectable,scrollEnabled

在代码中执行此操作

2)如果您想要使用URL进行无法选择的textview - 您可能会寻找其他控件来存档它。查看OHAttributedLabel,它是多行的,并且有链接检测,没有文本选择或滚动。