我想创建一个UITextView,您可以在其中的任何位置点按并开始在该位置键入内容。控件的默认行为是键入从最后一个字符结束的地方开始。所以,如果我有一个没有文字的UITextView并点击控件中间,我想打字从那里开始 - 而不是在左上角。
实施此行为的最佳方法是什么?我已经考虑过将视图的默认文本值设置为3000个空格字符或类似的东西,但这似乎不是一个优雅的解决方案。建议?
答案 0 :(得分:4)
我建议从UITextView派生来创建一个处理水龙头的自定义视图。您可能希望覆盖以下方法:
touchesBegan:withEvent
touchesMoved:withEvent
touchesEnded:withEvent
touchesCancelled:withEvent
确保userInteractionEnabled
属性的默认值为YES。覆盖hitTest:withEvent
和pointInside:withEvent
以确定用户点按视图的位置。
请务必阅读“适用于iOS的视图编程指南”中的Responding to Events部分,另请参阅Event Handling Guide for iOS了解详情。
无论如何,一旦弄清楚用户触摸的位置,您可以根据需要修改文本或重新定位克拉。