问题标签 [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 - Xcode:为我自己的应用程序创建自定义键盘
我正在开发一个数学应用程序。所以我需要一个特定的键盘。我只能使用小数点,但缺少正/负(“+/-”)按钮。
现在我想编写一个自定义键盘或者我想编辑小数点。什么更容易?
如果我要编写自己的自定义键盘,我可以使用自定义键盘扩展,还是必须为单独视图中的每个数字创建一个带有按钮的视图?
因为我需要在许多不同的视图上使用键盘:是否有可能使用键盘创建视图并在其他视图之上的容器视图中显示键盘视图?
希望你能得到我的挣扎。
ios - Getting the currently active keyboard language as NSLocale
I already found a lot of approaches for this but no working solution. Here's what I tried and didn't work.
(1) Simply calling primaryLanguage()
→ always returns nil :-/
(2) Subscribing to UITextInputCurrentInputModeDidChangeNotification notifications
The notification is getting triggered but it is unclear how I can extract the current language information from the notification.
(3) Using activeInputModes()
This always provides the same array of all available keyboards, no information on the actually active one.
How do I get the NSLocale of the currently active keyboard?
ios - 在 UITextView 中使用听写时应用程序崩溃
在 UITextView 中使用听写时应用程序崩溃。在键盘中使用听写功能时,文本会自动保存,并且应用程序由于同样的原因而崩溃。正常情况:
当用户通过听写模式使用键盘输入文本时,文本将在 2 秒后自动保存。
当前情景
当用户通过听写模式尝试长语音文本时,文本正在自动保存,同时应用程序本身正在崩溃。
请找到堆栈跟踪
ios - HPGrowingTextView - “textInputView.frame.origin.y”是正确的,但文本字段实际上没有移动 - 有时
我正在调试别人的代码——抱歉,我的 Objective-C 经验非常有限。
当我点击文本输入字段以调出键盘时,该字段应向上移动到键盘上方 - 有时。这完全取决于首先加载哪个键盘。
- 没有键盘的文本字段:
- 点击文本字段后,我期望:
- 然而,文本字段停留在屏幕底部,只留下占位符:
- 奇怪的是,如果我往下拉 QuickType 行,文本字段会突然出现!
- 但是,如果我退出该视图并随后返回,文本字段再次卡在底部(猜猜看,如果我向上拖动 QuickType 行,它会跳起来):
- 通过点击地球图标切换到另一个键盘(输入法)总是有助于调出文本字段:
- 似乎第三方键盘不受影响:
你可以看到我一直在监控textInputView.frame.origin.y看看出了什么问题。它从 472(无键盘)更改为 261(英文键盘),但文本字段根本不会上升。
我不认为它在占位符后面(如果有的话),因为当我点击气泡旁边的白色区域时,键盘会向下移动并显示卡在底部的文本字段。
有人建议添加 setNeedsDisplay、setNeedsLayout 等,但没有任何帮助。
提前致谢。
ios - 在 UISearchbar iOS 中 selectedTextRange 返回 nil
我有一个UISearchBar
,我得到了UITextfield
它,然后我想设置选定的文本范围,但它总是返回 nil。这是我的代码:
我填写文本:
并检查UITextField
文本是否已填写。尽管如此,所有关于UITextPosition
并UITextRange
返回 nil 的方法:
我的代码有问题吗?
ios - UITextInput:重置多阶段输入建议
在我的应用程序中,我已经实现UITextInput
了为我的自定义处理多阶段文本输入UITextField
。我想知道是否有人知道如何重置在日文键盘上键入时出现在键盘上方的多阶段输入建议:
我只是想清除标记的文本并重置所有内容。现在唯一的方法是用户手动按下返回键或关闭UITextView
.
有没有办法在代码中做到这一点?在查看 的文档时UITextInput
,这并不明显。
ios - 如何测试用户是否更改了 UITextInput?
我正在为 iOS 开发一个自定义键盘,使用 UIInputViewController 我实现了以下方法:textWillChange,textDidChange。
我想知道用户何时更改当前文本字段并移动到另一个文本字段以配置键盘中当前按下的文本字段的自动大写参数。
现在我尝试做这样的事情:
甚至是这样的:
但是这些选项都不适合我。
更新:您可以注意到我在回调方法中收到的对象不是 UITextField 对象,而是 UITextInput 对象,它实际上是一个协议,而不是文本字段本身。所以我不能添加观察者。我的键盘应用程序不控制用户输入文本的字段。
问题:如何识别用户更改当前文本字段的那一刻?
ios - 在 UITextField 中的每种类型之后替换字符?
我有一个 UITextField ,用户应该在其中输入一个我们告诉用户输入的句子。所以我们已经知道要输入的句子。在句子的中间,用户必须秘密传递一条消息。执行此操作的方法是键入已知句子的几个字母,然后键入“&”,然后键入“WhichEverMessageUserWantsToPass”和“&”结束。
关键是用户按下“&”的那一刻,他在此之后键入的任何内容都不应显示,而是他之后键入的每个字母都应替换为已知句子中的字母。
例如:
String - 两年前我住在哪个城市?
用户类型 - 哪个城市 di&Deteroi&n 2 yea
UITextField 应该显示 - 我在 2 年住在哪个城市
两个 '&' 之间的部分本质上就是答案本身,所以我不希望它显示在文本字段中。
我目前的做法是:
但是,这似乎并不能取代目前的任何字母。如果有人知道实现,请提供帮助。谢谢
ios - UITextView 在设置了属性文本之后做了什么?
我有一个 UITextView,我正在向其中添加一些自定义 UI。此自定义 UI 的布局基于 UITextView 中文本的位置。
我firstRectForRange
在 UITextView 上使用方法(来自 UITextInput)。该方法返回 textView 中指定文本范围的框架。
但是,它在设置属性文本后无法正常工作。在返回预期值之前需要最少的时间。这段时间很可能是直到带有更新文本的第一帧被渲染并显示在屏幕上的时间。
我目前正在将布置自定义 UI 的代码包装到一个dispatch_async(dispatch_get_main_queue(), ...)
块中,这会将其执行延迟到帧渲染之后(大约 9 毫秒)。
UITextView 在设置属性字符串和在屏幕上显示下一帧之间做了什么?有没有更好的地方/方法调用让我挂钩?
我有什么办法可以强制同步运行该操作?
我尝试过调用的事情:(
在设置属性文本之后;在调用 firstRectForRange 之前)
- 调用
setNeedsLayout
和layoutIfNeeded
之前firstRectForRange
。 - 打电话
drawViewHierarchyInRect(self.bounds, afterScreenUpdates: true)
ios - UITextInputMode.activeInputModes() 在 Swift 2 中崩溃
我想在 Swift 2 中获得 UITextInputMode 但UITextInputMode.activeInputModes()
崩溃了。