2011-07-16 177 views
3

我在界面生成器中有一個UIButton,其初始標題爲「使用當前位置」。上面有一個UITextField,用戶可以輸入地址或郵政編碼。按鈕和文本字段都是IBOutlets。UIButton不會更改標題

這些項目存在的視圖的視圖控制器是UITextFieldDelegate。在委託方法(BOOL)textFieldShouldReturn:(UITextField *)textField我想要改變按鈕標題取決於文本字段是否有任何內容。我的方法是這樣的:

-(BOOL)textFieldShouldReturn:(UITextField *)textField 
{ 
    NSLog([textField text]); 

    if([[textField text] length] == 0) 
    { 
     NSLog(@"AAAAAAAAA"); 
     [go setTitle:@"Use Current Location" forState:UIControlStateNormal]; 
    } 
    else 
    { 
     NSLog(@"BBBBBBB"); 
     [go setTitle:@"Use This Address" forState:UIControlStateNormal]; 
    } 
    [textField resignFirstResponder]; 
    return YES; 
} 

注:goUIButton

此方法不按預期執行,但每次都記錄正確的語句。按鈕的標題不會改變。

任何幫助將特別讚賞。

+2

我要說'NSLog(@「%@」,去)'說'無' – bshirley

回答

9

檢查Interface Builder中的連接,確保按鈕已連接到其插座,並且文本字段的代理已正確設置。

+0

謝謝,我是愚蠢的。對於張貼這個問題有點尷尬。沒有正確連接按鈕。 – Mason

1

你的「go」按鈕是否正確連接?打印出去按鈕地址並檢查它是否爲非空。

1

肯定與按鈕沒有適當鏈接有關。 然而,顯然你已經有了你的UITextField的委託,因爲你正在記錄正確的日誌語句。

祝你好運!