iPhone SDK:如何创建一个在您点击的地方插入文本的 UITextView?

Posted

技术标签:

【中文标题】iPhone SDK:如何创建一个在您点击的地方插入文本的 UITextView?【英文标题】:iPhone SDK: How to create a UITextView that inserts text where you tap? 【发布时间】:2010-05-12 21:07:07 【问题描述】:

我想创建一个 UITextView,您可以点击其中的任何位置并在该位置开始输入。控件的默认行为是从最后一个字符结束的地方开始输入。所以,如果我有一个没有文本的 UITextView 并点击控件中间,我想从那里开始输入——而不是在左上角。

实现此行为的最佳方式是什么?我考虑过将视图的默认文本值设为 3000 个空格字符或类似的值,但这似乎不是一个优雅的解决方案。有什么建议吗?

【问题讨论】:

请问您可以发布代码吗?我无法从 Ben Collins 的回答中得到答案。所以请帮助我,希望对其他人也有帮助。 【参考方案1】:

我建议从 UITextView 派生来创建处理点击的自定义视图。您可能需要覆盖以下方法:

touchesBegan:withEvent touchesMoved:withEvent touchesEnded:withEvent touchesCancelled:withEvent

确保userInteractionEnabled 属性的默认值为YES。覆盖 hitTest:withEventpointInside:withEvent 以找出用户在您的视图中点击的位置。

请务必阅读 View Programming Guide for ios 中的Responding to Events 部分,并参阅Event Handling Guide for iOS 了解更多详细信息。

无论如何,一旦确定用户触摸的位置,您就可以根据需要修改文本或重新定位 karat。

【讨论】:

我会试一试,看看效果如何。我已经尝试过很多次来处理 UITextView 上的触摸事件,但由于它倾向于吃触摸事件的方式,它通常并不顺利。不过,我从未尝试过使用命中测试。 能不能用代码详细解释一下?因为很多牧师看不懂。

以上是关于iPhone SDK:如何创建一个在您点击的地方插入文本的 UITextView?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 iPhone SDK 创建 PDF 文档? [复制]

如何使用 iOS 6 sdk 为 iPhone 4s 或 iPhone 4 制作视图控制器?

如何在 iPhone SDK 的 UITextView 中控制粘贴菜单的放置

如何在iPhone SDK中的MKMapView中单击注释引脚切换到另一个视图?

如何在 iphone sdk 中使用 openlayers

安装 Facebook SDK - iPhone