gpt4 book ai didi

ios - 在 UITextField 的光标位置插入字符串

转载 作者:技术小花猫 更新时间:2023-10-29 10:29:10 24 4
gpt4 key购买 nike

我在 UITableView 中有几个 UITextField。用户应该只能插入数字和点。为此,我将键盘类型设置为 UIKeyboardTypeNumberPad 并在左下角添加了一个“.”按钮。每次按下按钮时,都会调用一个函数。此函数应在当前光标位置插入一个点,但这就是问题所在:UITextField 没有 selectedRange 属性,因此我无法获取当前光标位置。有谁知道如何解决这个问题或者有没有其他方法可以做到这一点?谢谢。

最佳答案

我终于找到了解决这个问题的方法!您可以将需要插入的文字放入系统粘贴板中,然后粘贴到当前光标位置:

[myTextField paste:self]  

我在这个人的博客上找到了解决方案:
http://dev.ragfield.com/2009/09/insert-text-at-current-cursor-location.html

粘贴功能是特定于 OS V3.0 的,但我已经对其进行了测试,并且它适用于使用自定义键盘的我。

更新:根据下面 Jasarien 的评论,最好先保存粘贴板内容,然后再恢复它们。为方便起见,这是我的代码:

  // Get a reference to the system pasteboard
UIPasteboard* lPasteBoard = [UIPasteboard generalPasteboard];

// Save the current pasteboard contents so we can restore them later
NSArray* lPasteBoardItems = [lPasteBoard.items copy];

// Update the system pasteboard with my string
lPasteBoard.string = @"-";

// Paste the pasteboard contents at current cursor location
[myUIField paste:self];

// Restore original pasteboard contents
lPasteBoard.items = lPasteBoardItems;

[lPasteBoardItems release];

关于ios - 在 UITextField 的光标位置插入字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1317929/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com