2013-03-20 119 views
0

我的視圖中有一個textField和一個按鈕,如果 文本框爲空,我不希望用戶可以單擊該按鈕。 當用戶在文本字段中輸入文字時,該按鈕將會被點擊以取消 。 我該怎麼做?謝謝。UITextField和UIButton

回答

1

爲您的UITextField,您可以設置:

[textField addTarget:self action:@selector(editing:) forControlEvents:UIControlEventAllEditingEvents]; 
在編輯

然後:有:

-(void)editing:(UITextField *)sender { 
    myButton.enabled = ![sender.text isEqualToString:@""]; 
} 
+0

它的工作原理,謝謝。 – jxdwinter 2013-03-20 03:00:07

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; 
} 
0

如果你願意,你可以 「隱藏」 按鈕通過設置將按鈕的alpha值設置爲0,並且當文本字段至少有一個字符長度時,將該按鈕的alpha值設置爲1以「顯示」按鈕。我認爲這在概念上很容易做到,對用戶來說非常適合。

0

設置textfield.delegate自我 然後在委託被textfielddidbeginediting ( 檢查是文本框是@「」 然後禁用按鈕

否則 啓用按鈕 )

還有還有一個。委派ü可以使用

Textdidchangecharacters

而且在viewDidLoad中按鈕的第一狀態應禁用

相關問題