【问题标题】:Selectable text within a UIScrollViewUIScrollView 中的可选文本
【发布时间】:2011-01-11 05:34:00
【问题描述】:

我需要在 UIScrollView 中有可选择的文本。据我了解,在 iPhone 上制作可选文本的首选方法是将其放在 UITextView 中。但是,它继承自 UIScrollView,并且将一个 UIScrollView 放在另一个 UIScrollView 中存在问题。对于初学者,外部滚动视图不再滚动,内部 UITextView 中的文本仍然不可选择。

将可选文本放入 UIScrollView 的首选方法是什么?

【问题讨论】:

    标签: iphone uiscrollview uitextview


    【解决方案1】:

    我仍然会使用 textview,但是调整它的大小,以便您的所有文本都适合而无需滚动。然后它进入滚动视图,其内容大小至少设置为文本视图的大小。

    【讨论】:

    • 这类似于我已经在做的事情,并且该错误仍然是隐含的。 textview 的大小已经调整为不需要滚动了。外部滚动视图更大,以允许所有滚动发生在那里。
    • 我刚刚做了一个快速测试,它似乎可以工作,只要滚动视图的内容大小大于它的框架,它就可以正常滚动并且文本视图仍然可以编辑。
    • 您是否尝试将嵌入式 UITextView 的 scrollEnabled 设置为 NO?因为它继承自 UIScrollView,所以它也应该有这个属性。
    • 最后,我发现滚动视图大小是失败的 - 有一个错误使视图太小。您的第一个答案一直都是正确的。
    【解决方案2】:

    我今天问并回答了一个与 UIScrollView 子类相关的问题:

    UIPickerView inside UITableView.tableFooterView doesn't receive drag touches

    这不是“如何构建这个”的答案,而是“如何破解它,以便您认为它应该做的事情成为可能”。

    【讨论】:

      【解决方案3】:

      您可以通过自定义实现 scrollToRectVisible: animated: 方法以及设置 scrollEnabled 来获得对滚动的更多控制。不过,关于 scrollEnabled 的注意事项——将其设置为 NO 并不会关闭所有滚动!因此,您可能希望拥有自己的 scrollingAllowed 变量并在您的 scrollToRectVisible: animated: 方法中检查其值。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-11-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-31
        • 1970-01-01
        相关资源
        最近更新 更多