问题标签 [uitextrange]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
46545 浏览

ios - 控制 UITextField 中的光标位置

我有一个UITextField我通过修改更改通知处理程序中的文本来强制格式化。这很好用(一旦我解决了重入问题),但给我留下了一个更烦人的问题。如果用户将光标移动到字符串末尾以外的位置,那么我的格式更改会将其移动到字符串的末尾。这意味着用户一次不能在文本字段的中间插入一个以上的字符。有没有办法记住然后重置光标位置UITextField

0 投票
2 回答
13714 浏览

ios - UITextField 中的 UITextPosition

我有什么方法可以通过文本字段的 UITextRange 对象获得 UITextField 的当前插入符号位置?UITextField 返回的 UITextRange 是否有任何用处?UITextPosition 的公共接口没有任何可见成员。

0 投票
1 回答
1429 浏览

objective-c - 如何从 UITextRange.start 的行首开始偏移

我有一个 UITextView 可以有多行。我感兴趣的是光标在某一行上的位置(第一行、第二行、第三行等都没有关系)。

我一直在记录 UITextRange.start 这正是我所需要的,即 offset 属性:

我的问题是我如何将 offset=5 变成一个简单的整数?

这是我的代码:

我只需要像 int cp = caretPositionRange.start.offset 这样不起作用的东西。


编辑:

澄清一下,我对每一行的光标位置特别感兴趣,而不是整个 TextView。所以这真的行不通:

因为这会给我每条线的不同位置。


编辑2:

杰西给出的以下答案非常有效。第一次,我得到了一个 EXC_BAD_EXCESS,因为我没有检查 startOfLine = nil,所以请记住检查它是否不是 nil。

0 投票
2 回答
710 浏览

ios - 如何在比 iOS 6.0 更早的 iOS 版本中从 UITextRange 获取矩形

我想从 UITextRange 获得所有的矩形。要知道,如果 UITextView 换行,UITextRange 将由超过 1 个 CGRect 表示。在 iOS 6.0 中,有一个方法叫“selectionRectsForRange:”,所以你可以得到所有的 CGRects。但是在旧版本中,只有一个方法“firstRectForRange:”我一次又一次地检查了API文档,但我什么也没找到。

我的代码喜欢吹:

0 投票
0 回答
285 浏览

cocoa-touch - 我们如何在自己的离散文件中实现 UITextPosition 和 UITextRange 子类?

在创建用于 Core Text 的自定义 UIView 或 UIScrollView 子类时,我们如何在自己的离散文件中实现 UITextPosition 和 UITextRange 子类?我们也需要这些来实现 UITextInput、UITextInputTraits 和 UIKeyInput 协议。似乎这些必须完全在我们使用它的相关视图类的 .m 或 .mm 文件中进行子类化......当尝试在单独的文件中执行此操作时,错误比比皆是。尝试将实现从这些示例项目中的 .m 文件中分离出来:

Apple 的 SimpleTextInput 示例代码。尝试将 UITextPosition 和 UITextRange 子类从 EditableCoreTextView.m 文件中删除到它们自己的谨慎文件中...

尝试使用 enormego 的 EGOTextView(在 Github 上)。

(如果您没有看到错误,请尝试转换为 iOS 6.0 和 ARC。)

0 投票
1 回答
142 浏览

iphone - 在当前光标位置插入空格

我搜索了 stackoverflow 和网络,但找不到有用的东西。我有一个当你点击它时会插入一个空格,现在它会在光标位于中间时UIButton在末尾添加空格。UITextField

如何通过UIButton单击在当前光标位置添加空间?

提前致谢。

0 投票
4 回答
15129 浏览

ios - 如何从 UITextView 或 UITextField 获取选定范围的文本

我正在尝试从 UITextView(和或 UITextField)中获取选定的文本范围,以便我可以编辑选定的文本或修改属性字符串。当我进行选择时,会触发下面的方法,但是方法中的代码返回 null 值。

0 投票
2 回答
3571 浏览

objective-c - Objective C 如何获取 UITextPosition 的数值

我需要获取 UIText 范围的开始和结束的数值。到目前为止,我只能将描述打印为字符串。

通过查看 selectedTextRange,我认为它可能是一个结构?如何获取结构的元素?

这是描述:

0 投票
2 回答
52 浏览

ios - 剪切选择后获取剩余文本

有没有一种简单的方法可以在选择被剪切后获取剩余的文本?假设我有一个带有“Hello, Jim”的 textview 控件。如果选择了“Jim”,我想将“Hello”存储到一个变量中,“而不使用 [textview1 cut:self]。在下面的代码中,我可以得到另一部分。

当然,这是另一部分。

感谢您的帮助。

0 投票
1 回答
250 浏览

objective-c - 在 Objective C 中观察插入符号的移动

我一直在尝试编写一种方法来观察插入符号并自动滚动到插入符号所在的行。每当用户输入某些内容时,我都设法滚动,但是在使用键值观察观察插入符号时,如下所示:

我收到一个我无法处理的错误。我很确定上面的行有问题,但不明白它是什么。我该如何解决它,或者有没有其他方法可以跟踪插入符号的位置?