gpt4 book ai didi

ios - 我可以设置 UITextField 以在按下 Return 时触发 UIBarButtonItem 的操作

转载 作者:行者123 更新时间:2023-12-01 16:41:58 24 4
gpt4 key购买 nike

我已经完成了 Apple Dev Center 的“Start Developing iOS Apps Today”指南中的教程项目。该项目构建了一个简单的 2 View 待办事项列表应用程序。主视图是待办事项列表,第二个 View 使用文本字段添加新的待办事项。 View 由导航 Controller 链接。

目前,用户通过在文本字段中输入项目并按下“完成”UIBarButtonItem 来添加项目。我想设置它,以便在文本字段中按 Return 键会触发与按“完成”相同的操作。

我在 StackOverflow 和其他地方进行了搜索,并查看了相关的 Apple 文档,但我不知道如何建立看似简单的连接。所以我想知道 Done 按钮是一个触发 Segue 和 UnwindToList 的导航控件这一事实是否意味着我不能轻易地将它链接到 Return 键。

根据我在这里找到的答案,我将 ViewController 设置为文本字段的委托(delegate):

(在 .h 文件中)

@interface XYZAddToDoItemViewController : UIViewController <UITextFieldDelegate>

(在 .m 文件中)
self.textField.delegate = self;

我已经添加了功能
- (BOOL)textFieldShouldReturn:(UITextField *)textField {

}

但我不知道如何使用该功能来触发 Done 按钮按下事件。 View Controller 有一个 PrepareForSegue 方法,该方法检查文本字段并将数据保存在其中,所以大概我必须调用该方法然后启动 segue,但我无法弄清楚如何手动执行此操作,因为导航 Controller 通常会处理它。

最佳答案

如果我没看错,您遇到的问题是“完成”按钮是导航栏中的 UIBarButton 项,由 UINavigationController 处理,因此您没有任何代码可以执行解除操作,因此被卡住为如何绑定(bind)来自文本字段的返回事件(您正确识别了该方法)。是对的吗?

如果是这样...您需要添加一种方法来手动执行“完成”按钮自动执行的操作。
这将取决于原始演示文稿是如何发生的。
一种方法是查看 unwind segue 选项。
但是在短期内,添加它并从 textFieldShouldReturn 方法中调用它......

- (void)manualDoneAction {
[self.navigationController popViewControllerAnimated:YES];
}

发布您的结果,如果它没有帮助,我会看看还有什么可能有效。

关于ios - 我可以设置 UITextField 以在按下 Return 时触发 UIBarButtonItem 的操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23584647/

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