UITextField和UIButton
问题描述:
我的视图中有一个textField和一个按钮,如果 文本框为空,我不希望用户可以单击该按钮。 当用户在文本字段中输入文字时,该按钮将会被点击以取消 。 我该怎么做?谢谢。UITextField和UIButton
答
为您的UITextField,您可以设置:
[textField addTarget:self action:@selector(editing:) forControlEvents:UIControlEventAllEditingEvents];
在编辑
然后:有:
-(void)editing:(UITextField *)sender {
myButton.enabled = ![sender.text isEqualToString:@""];
}
答
监听对文本字段的更改。随着文本更改,根据是否有文本更新按钮的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;
}
答
如果你愿意,你可以 “隐藏” 按钮通过设置将按钮的alpha值设置为0,并且当文本字段至少有一个字符长度时,将该按钮的alpha值设置为1以“显示”按钮。我认为这在概念上很容易做到,对用户来说非常适合。
答
设置textfield.delegate自我 然后在委托被textfielddidbeginediting ( 检查是文本框是@“” 然后禁用按钮
否则 启用按钮 )
还有还有一个。委派ü可以使用
Textdidchangecharacters
而且在viewDidLoad中按钮的第一状态应禁用
它的工作原理,谢谢。 – jxdwinter 2013-03-20 03:00:07