【问题标题】:UITextView with links: disable scrolling, user interaction enabled带有链接的 UITextView:禁用滚动,启用用户交互
【发布时间】:2014-02-15 16:43:32
【问题描述】:

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

默认情况下,“用户交互已启用”为 false,并且不会发生滚动。但是,为了使链接可点击,“用户交互已启用”必须为真。鉴于此,即使禁用滚动,如果文本超过 UITextView 的高度,仍然可以滚动文本。

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

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

【问题讨论】:

    标签: ios objective-c uitextview


    【解决方案1】:

    像这样通过 UITextView 委托禁用垂直滚动怎么样:

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

    【讨论】:

      【解决方案2】:

      更新:

      1) 据我了解,您使用 textview 仅用于显示带有链接的文本,没有编辑或滚动。如果您使用 Interface Builder 添加它 - 请确保您关闭了屏幕截图中的编辑、滚动、选择选项。但是对于 URL 检测,可能会启用选择。

      或者在代码中使用属性editable、selectable、scrollEnabled来实现

      2) 如果您想要带有 URL 的不可选择的文本视图 - 您可能会寻找其他控件来存档它。看OHAttributedLabel,它是多行的,有链接检测,没有文本选择和滚动。

      【讨论】:

      • 如果未启用“可选择”,则链接不起作用。如果启用,链接确实有效。这让我在我开始的地方仍然滚动。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-02-11
      • 1970-01-01
      • 1970-01-01
      • 2013-05-24
      • 2011-11-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多