gpt4 book ai didi

iOS:处理文本字段/ View 交互和键盘移动的最稳定方式?

转载 作者:行者123 更新时间:2023-11-28 08:38:14 25 4
gpt4 key购买 nike

我有一个混合了文本字段和 TextView 的应用程序,人们可以通过各种方式与它们进行交互。一些从输入字段切换到输入字段,一些输入字段并点击“完成”等。

有没有人找到一种他们特别喜欢处理字段/ View 之间切换的方法,同时根据输入的数据更新内部数据模型?有什么最喜欢的技巧吗?

相关:如果有人从一个字段切换到另一个字段,每个字段的委托(delegate)调用顺序是什么(应该/是否开始/结束编辑),以及 resignFirstResponder() 如何发挥作用?

谢谢!

最佳答案

您可以为每个 UITextField 和 UITextView 设置唯一的标签,以便为每个 UITextField 或 UITextView 相应地区分和存储数据。每当有人与 UITextField 交互时,都可以使用以下委托(delegate)方法

func textViewDidBeginEditing(textView: UITextView)
func textFieldDidBeginEditing(textView: UITextField)

每当我们开始编辑 UITextField 或 UITextView 时,都会调用上述两个委托(delegate)函数。这些功能可用于相应地调整您的布局,以便您的 UITextField 或 UITextView 不会落后于键盘。但是,如果 View 中有多个 UITextField 和 UITextView,最好使用第三方库来完成此任务。我用了这个https://github.com/michaeltyson/TPKeyboardAvoiding在我的一个项目中

func textView(textView: UITextView, shouldChangeTextInRange range: NSRange, replacementText text: String) -> Bool
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool

使用以上两个函数,可以跟踪UITextField和UITextView内部文本的变化

func textViewDidEndEditing(textView: UITextView)
func textFieldDidEndEditing(textField: UITextField)

只要在特定的 UITextView 或 UITextField 中结束编辑,就会调用上述两个函数。这可用于根据标签存储来自 UITextField 或 UItextView 的数据。

func textFieldShouldReturn(textField: UITextField) -> Bool 

点击返回键时调用。您还可以使用它根据标签等将在此文本字段中键入的文本存储在数组中。

关于iOS:处理文本字段/ View 交互和键盘移动的最稳定方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37091160/

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