TJM*_*Mac 1 uitextview swift iqkeyboardmanager
我在我的项目中使用 IQKeyboardManager,除了一个问题之外,它工作得很好。我有一个 UITextView,用户在其中输入注释,当显示键盘时,文本视图会按应有的方式向上移动,问题是,如果用户键入多行文本,则文本视图会随着每行新代码向下展开,然后2 行后移至键盘下方。如果我关闭键盘,然后再次调用它,它会将文本视图向上移动,因为它应该显示整个(扩展视图),但如果我继续键入,新行又会落在键盘后面。
我尝试过使用滚动,它可以工作,但不是我想要的用户体验,并且我查看了很多管理键盘的答案,但没有一个使用 IQKeyboardManager 解决这个问题。
除了 IQKeyboardManager 的实现之外,我实际上没有任何代码,但工作正常。
关于如何在使用 IQKeyboardManager 时将文本视图中的每个新行向上移动视图有什么想法吗?
我在 github 上进行了挖掘,发现这并不是一个真正的问题,但他们希望开发人员知道 uitextview 何时会增长。因此,他们开发了一个在适当的时候使用的调用。IQKeyboardManager.shared.reloadLayoutIfNeeded()
我的解决方案特定于文本字段的宽度以及创建新行之前所需的字符数。并不完美,但这确实可以在我的应用程序中无缝运行,所以希望其他人可以使用它。
func textViewDidChange(_ textView: UITextView) {
let count = textView.text.count
if count >= 15 || count >= 30 || count >= 45 || count >= 60 || count >= 75 {
IQKeyboardManager.shared.reloadLayoutIfNeeded()
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1623 次 |
| 最近记录: |