gpt4 book ai didi

iphone - UIButtons 不启用其他按钮

转载 作者:行者123 更新时间:2023-12-03 21:17:15 28 4
gpt4 key购买 nike

通过这个板上人们的大力帮助,我几乎为我的学生完成了我的应用程序!我能够在键盘上显示一个工具栏,其中有上一个和下一个按钮。然后我让按钮在三个输入字段之间移动。

如果用户从第一个字段开始,他们可以在所有字段之间来回切换,就像我认为如果他们使用上一个/下一个按钮一样。但是,如果用户位于第三个文本字段,然后单击第一个字段,则按钮将保持原样,然后无法正常工作。

-(void)keyboardWillShow:(id)sender{
if ([inputA isFirstResponder]) {
[nextButton setEnabled:YES];
[previousButton setEnabled:NO];
} else if ([inputB isFirstResponder]) {
[nextButton setEnabled:YES];
[previousButton setEnabled:YES];
} else if ([inputC isFirstResponder]) {
[nextButton setEnabled:NO];
[previousButton setEnabled:YES];
}
}

...循环浏览下一个文本字段

-(void)nextField:(id)sender{
if ([inputA isFirstResponder]) {
[inputB becomeFirstResponder];
[previousButton setEnabled:YES];
[nextButton setEnabled:YES];
} else if ([inputB isFirstResponder]) {
[inputC becomeFirstResponder];
[previousButton setEnabled:YES];
[nextButton setEnabled:NO];
} else if ([inputC isFirstResponder]) {
[inputB becomeFirstResponder];
[previousButton setEnabled:YES];
[nextButton setEnabled:YES];
}
}

...循环浏览之前的文本字段

-(void)previousField:(id)sender{
if ([inputC isFirstResponder]) {
[inputB becomeFirstResponder];
[nextButton setEnabled:YES];
[previousButton setEnabled:YES];
} else if ([inputB isFirstResponder]) {
[inputA becomeFirstResponder];
[nextButton setEnabled:YES];
[previousButton setEnabled:NO];
} else if ([inputA isFirstResponder]) {
[inputB becomeFirstResponder];
[nextButton setEnabled:YES];
[previousButton setEnabled:YES];
}
}

在我的键盘代码中,上一个按钮调用 previousField,下一个按钮调用 nextField。我认为当我执行 KeyboardWillShow 时,我将不同的输入设置为第一响应者,但这只是在第一次运行时。

有没有办法让用户单击该字段时成为第一响应者?

最佳答案

至于触发更新,UITextField有一个委托(delegate)方法-textFieldDidBeginEditing:,您可以使用它来调用-setPrevNextButtons,如建议的@麦克沃斯。存在执行类似操作的其他几种方法 - 请参阅 related delegate protocol了解更多信息。

例如,在文本字段的委托(delegate)中尝试以下控制代码:

- (void)textFieldDidBeginEditing:(UITextField *)textField {
if (textField == inputA || textField == inputB || textField == inputC)
[self setPrevNextButtons];
}

不用说,您必须为文本字段设置委托(delegate)才能使其工作。

关于iphone - UIButtons 不启用其他按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10404189/

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