我想在我的 iPhone 应用程序中创建一个文本显示区域(UILabel 或 UITextView),它 (1) 允许滚动并且 (2) 不允许选择。我尝试了以下技术,但均未成功:
- 基本 UILabel:不允许滚动,并将文本剪切到屏幕上 UILabel 空间的底部。
- UIScrollView 中的巨型 UILabel:UILabel 一直将文本(垂直)放置在巨型 UILabel 的中心,因此它通常位于我的 UIScrollView 之外。
- UITextView:到目前为止,这种方法效果最好,因为它滚动而不剪切文本。我什至可以继承 UITextView 以调整文本大小以适应 textview,并将任何触摸事件传递给 superview 以检测点击和滑动。但是,当用户点击并按住文本本身时,会出现文本选择界面。我对这个界面不感兴趣,它实际上分散了用户的体验。我试图子类
canPerformAction:withSender:
化,但显然这个函数是在点击事件之后调用的——而不是在它之前。
有谁知道如何在不禁用滚动的情况下禁用 UITextView 中的文本选择界面?