我有一些UITextField,当用户点击它时,我选择所有文本并隐藏菜单,但如果他们没有做任何更改,当他们点击另一个UITextField时,菜单剪切,复制,替换出现在当前的UITextfield上,而不是在点击的UITextfield中。
我可以在selectAll之后第一次隐藏菜单,但不能在用户点击另一个UITextfield时隐藏菜单。
有什么想法吗?
感谢,
- (void)textFieldDidBeginEditing:(UITextField *)textField {
[textField selectAll:textField];
[UIMenuController sharedMenuController].menuVisible = NO;
}
答案 0 :(得分:0)
您是否为其他文本字段设置了委托?
示例:myTextField.delegate = self;
答案 1 :(得分:0)
当触摸时,委托方法中的textField
变量应该是第二个UITextField
。您可以使用标记标识UITextField
个。因此:
#define kSecondTextFieldTag 300
// ....
-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
if (textField.tag == kSecondTextFieldTag) {
[UIMenuController sharedMenuController].menuVisible = NO;
}
return NO;
}
是的,并确保按照之前的建议设置代表。