我的视图中有一个textField和一个按钮,如果是 textfield为空我不想用户可以点击按钮。 当用户在文本字段中显示某些内容时,该按钮将会显示 点击。 我怎样才能做到这一点?谢谢。
答案 0 :(得分:1)
收听文本字段的更改。随着文本的更改,根据是否有文本更新按钮的enabled
属性。当然,您还需要在开头设置按钮的状态。
// Setup the text field change listener (this can be done in IB if appropriate)
// Put this in viewDidLoad if not using IB.
UITextField *myTextField = ... // a reference to the text field
[myTextField addTarget:self action:@selector(textFieldChangedAction:) forControlEvents:UIControlEventEditingChanged];
// Initialize the button's state (put this in viewDidLoad)
myButton.enabled = myTextField.text.length > 0;
// The method called as the text changes in the text field
- (void)textFieldChangedAction:(UITextField *)sender {
myButton.enabled = sender.text.length > 0;
}
答案 1 :(得分:1)
对于您的UITextField,您可以设置:
[textField addTarget:self action:@selector(editing:) forControlEvents:UIControlEventAllEditingEvents];
然后在你的编辑中:拥有:
-(void)editing:(UITextField *)sender {
myButton.enabled = ![sender.text isEqualToString:@""];
}
答案 2 :(得分:0)
如果需要,可以通过将按钮的alpha值设置为0来“隐藏”按钮,当文本字段长度至少为一个字符时,然后将按钮的alpha值设置为1以“显示”按钮。我认为这在概念上很容易做到并且非常适合用户。
答案 3 :(得分:0)
将textfield.delegate设置为self 然后在textfielddidbeginediting的委托 ( 检查是文本字段是@“” 然后禁用按钮
否则 启用按钮 )
还有一个。代表你可以使用
Textdidchangecharacters
在viewdidload中,应该禁用按钮的第一个状态