问题标签 [uitextinput]
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.
ios - 如何在 UITextView 中获取当前选定的行号?
1) 获取范围数组 - (void)analysis { if (self.mRangesArray != nil) { [self.mRangesArray removeAllObjects]; } NSString *string = self.text; NSUInteger numberOfLines, index, stringLength = [字符串长度];
2) 比较 RangesArray 内的 Range Objects 与当前选中的 Range
- (NSInteger)getCurrentLineIndex{ /* 该方法将用于获取 mRangesArray */ [self analyse];
谢谢大家帮助。干杯:)
ios - inputAssistantItem 和 inputAccessoryView 停止使用 ARC
我正在使用此代码在我的 iOS 应用程序的屏幕键盘上方添加一些按钮。请注意,我在手机和 iOS 9 之前的设备上使用较旧的 inputAccessoryView 方法,在 iOS 9 平板电脑上使用较新的 inputAssistantItem:
我的自定义工具栏类如下所示:
和...
当我的应用程序未使用 ARC 时,这按预期工作。我最近更新到 ARC,只需要对上面的代码进行少量更改(UIBarButtonItems
我(void)
之前initWithNibName
在 在 iOS 8 上,我在点击其中一个按钮时崩溃([CALayer button1]: unrecognized selector sent to instance
,我认为这表示内存指针无效),在 iOS 9 上,当我点击一个按钮时没有任何反应,并且不会调用按钮方法的日志记录。
在更新到 ARC 之前,我有我的项目的副本,当我返回并在我的 iOS 8 或 iOS 9 设备上运行它时,工具栏按钮再次起作用。因此,似乎 ARC 要么是问题的根源,要么是另一个问题的触发器。
如果我将 barButtonItem 指向自我,就像这样......
...按预期接收方法调用。如果我将 barButtonItem 选择器更改为无效方法,像这样......
...什么都没发生。这向我表明,在调用按钮选择器时 textInputToolbar 以某种方式变为 nil,因为如果它不是 nil,则会产生无法识别的选择器崩溃。
但我知道 TextInputToolbar 类及其视图正在加载,因为发生了 viewDidLoad 的登录,并且视图显示为手机和 iOS 8 平板电脑的 inputAccessoryView。
知道发生了什么,或者我还能做些什么来排除故障?
ios - UITextInput 仅在 iOS 9 中返回零位置
我正在尝试获取特定范围的矩形(UITextRange
)。问题是代码可以正常工作iOS 10
,并且我得到了范围和矩形。不幸iOS 9
的是,这条线:
返回nil
ios - UITextField 子类不调用 shouldChangeText(在范围内:replacementText :)
我有一个UITextField
在所有方面都有效的子类,除了shouldChangeText(in range:replacementText:)
没有调用被覆盖的方法。我正在尝试创建一个允许用户仅输入有效十进制数字的字段,并在等效的委托方法中使其工作,但由于我将在许多地方使用它,我只想将其子类化一次。
我的整个班级是
FWTextField
它的子类在哪里UITextField
添加了一个简单inputAccessoryView
的“完成”按钮,并且键盘在我的故事板中被限制为十进制键盘。
我的故事板和 IBOutlet 的类型都设置为FWNumberField
. 关于为什么不调用该方法的任何想法?文档说应该是。
ios - 为什么 UITextInput 中的 InsertText 会破坏键盘建议?
所以我们最近遇到了一个问题,我们的键盘扩展在随附的应用程序中显示了错误的建议。我们发现从 context ( super.textDocumentProxy.documentContextBeforeInput
) 返回的文本都是错误的,并且由于它是内置的苹果组件,因此文本插入肯定有问题。我们有以下插入文本的实现:
会返回类似:
那里。. .
而真正的文本会是这样的:
就在那里。这是一个小测试。测试一切。
javascript - TextInput React Native上的水平滚动
当底层文本溢出 iOS 上的输入时,我有一个不滚动的 TextInput。在 Android 上,组件的行为与我预期的一样正常,也就是说,每当文本溢出输入时,它就会滚动直到插入符号可见并且我可以移动插入符号。(我不知道我是否完全解释了自己)。
在谷歌上搜索我发现了同样的问题:
但是选择的答案对我不起作用。有没有人遇到过同样的困难?我该如何解决它们?为什么它可以在 Android 上运行而不是在 iOS 上运行?
ios - UITextInput.characterRange(at:) 偏离了几个像素
向我的子类添加点击识别器后UITextView
,我试图获取被点击的字符:
问题是,如果我的属性文本是"Hello world\nWelcome to Stack Overflow"
并且我点击一个字母的左侧,比如 letter 的左侧f
,然后characterRange(at: location)
返回前一个字母r
而不是返回f
。
swift - 具有不连续底部边框的自定义 UITextfield
我现在正在研究 UITextfield。我希望知道如何在 UITextfield 中添加四个不连续的底部边框,以及如何使输入数字之间的空间更大以使其分别完全适合四行。此外,如果可能,当用户在该行上输入数字时,如何使该行变为黑色(而其他行保持灰色)?太感谢了!
ios - iOS UITextInput 控件:从硬件键盘接收前向删除键
我已经实现了一个复杂的 UITextInput,它在 iOS 上运行良好,但缺少一个功能:
- 当用户连接了硬件键盘(至少在模拟器中)并且没有选择任何文本并按下 Forward Delete 时,什么也没有发生。
请注意,我指的不是 Mac 上标记为 Delete 的键,它只是一个 Backspace 键——使用 UIKeyInput deleteBackward 方法的实现已经可以正常工作。
两个问题:
iOS 是否可以正确处理 Forward Delete(例如,带有 Fn + Delete 的蓝牙 Mac 硬件键盘不是 Backspace,而是 Forward Delete)。这适用于我的 Mac 笔记本电脑吗?(答案似乎是肯定的,因为我刚刚在 Safari 的模拟器中的硬件键盘(我的主机 Mac 开发机器)上测试了 Forward Delete。)
如果在其他应用程序中可能并且很常见,我该如何拦截这个关键命令?我找不到要作为字符串发送的内容来创建 UIKeyCommand,也找不到任何有意义的 API 方法以简单的方式执行此操作。
另请注意,在此自定义文本编辑器中选择文本并按 Forward Delete 键已经正常工作,因此 iOS 似乎知道此键。
仅供参考,此代码使用 C#,但也欢迎使用 Swift 或 Objective-C 回答第 (2) 部分。
(我目前最好的猜测可能是尝试弄乱这个问题中的代码?- 只是为了得到这个相当常见的密钥似乎真的很头疼?)
更新:
现在按 Delete(右键删除而不是退格键)在 iOS 上以某种方式工作,至少在模拟器上是这样。这可能是 TextInput 系统中的一个错误,因为现在当我按下右键删除键时,系统调用我的代码来选择光标右侧的单个字符,然后调用我的 DeleteBackwards 代码来删除选择(哪个代码知道如何删除选定的文本)。奇怪但很高兴这现在按预期工作,“开箱即用”。
ios - iOS13:有没有办法禁用新的滑动输入功能?
我有一个使用UITextInput
,UIKeyInput
和UITextInputTraits
协议实现自定义文本视图的应用程序。
如果你安装了 iOS13,你就会看到键盘有一个时髦的新功能,可以让你在按键上滑动来打字。
我现在想禁用此功能,我想知道,有人找到方法了吗?我在文档中查看了上述协议,但找不到任何东西。甚至可能吗?