UITextField和UIButton

时间:2013-03-20 02:39:17

标签: ios uibutton uilabel

我的视图中有一个textField和一个按钮,如果是 textfield为空我不想用户可以点击按钮。 当用户在文本字段中显示某些内容时,该按钮将会显示 点击。 我怎样才能做到这一点?谢谢。

4 个答案:

答案 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中,应该禁用按钮的第一个状态