【问题标题】:Is there a way to put UITextView's scroll indicator to outside UITextView?有没有办法将 UITextView 的滚动指示器放到 UITextView 之外?
【发布时间】:2011-05-19 14:34:57
【问题描述】:

这可能是一个愚蠢的问题。 我正在尝试像附图一样设置左/右页边距。我通过将 UITextView 添加到 UIScrollView 成功实现了它。 但是,仅使用 UITextView 几乎可以实现我想要的一切。比如使用UIScrollView,当我手动改变UITextView的文字时,不管它的.scrollEnabled是否设置为No,它都会自动滚动到底部。

如果 UITextView 的滚动指示器出现在 UITextView 之外就完美了。 在附图中,假设红色框代表整个 UITextView。我尝试更改 UITextView 的 scrollIndicatorInsets 属性,但滚动指示器只能向内移动才能看到。

Pages、aWriter、Plaintext 等多个应用程序实现了此功能。 可以给点建议吗?

谢谢!

【问题讨论】:

    标签: iphone ipad ios uiscrollview uitextview


    【解决方案1】:

    您可以将 UITextView 的滚动条右插入值设置为负值并禁用剪辑子视图选项以实现您的要求。不需要其他滚动视图。

    【讨论】:

    • 完美运行!!我google了几天,我选择了将UITextView作为子视图添加到UIScrollView的方式来实现这一点。这种低效的方式让我花了很多时间来纠正 UITextView 和 UIScrollView 之间不明确的关系。非常感谢!!
    • 在代码中这将是textView.clipsToBounds = NO; textView.scrollIndicatorInsets = UIEdgeInsetsMake(0.0f, 0.0f, 0.0f, -50.0f);
    • 由于某种原因在情节提要上设置 clipsToBounds 不起作用,必须在代码中完成
    【解决方案2】:

    您也可以设置 Right contentInset 属性。

    【讨论】:

    • 这将启用水平滚动。不推荐。
    • logsTableView.alwaysBounceHorizo​​ntal = NO;会防止这种情况发生
    【解决方案3】:
    UIEdgeInsets insets =  textView.scrollIndicatorInsets;
    insets.right += 5; //add what ever is your margain
    textView.scrollIndicatorInsets = insets;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-28
      • 2013-05-17
      • 2010-10-23
      • 2023-02-20
      • 1970-01-01
      相关资源
      最近更新 更多