2011-07-20 66 views
0

我一直有一個有趣的問題。我有UIButtonUITextField,我們分別稱它們爲myButtonmyField。現在,當用戶按myButton時,它應該將[myField text]的內容保存到另一個變量中,我們將其稱爲otherVar。現在,當我輸入到myField,然後按回車鍵,一切正常,但是當我按myButtonmyField之前已經離開了,那個被存儲在otherVar字符串總是看起來是這樣的:什麼時候是UITextField的文本屬性集?

<UIButtonContent: 0x4e13c60 Title = (null), Image = <UIImage: 0x4b50980>, Background = (null), TitleColor = UIDeviceWhiteColorSpace 1 1, ShadowColor = UIDeviceWhiteColorSpace 0 0.5> 

請問[MyField的文字]沒有設置,直到用戶按下返回鍵,離開文本字段?還有,有沒有辦法判斷用戶在按myButton之前是否已經離開myField

這裏是IBAction爲代碼myButton

-(IBAction)myButton:(id)sender{ 
    if (![[myField text] isEqualToString:@""]) { 
    [[[appDelegate moduleList] objectAtIndex:[appDelegate moduleNum]] setOtherVar:[myField text]]; 
    } 
} 

的感謝!

+1

你可以發佈你的代碼嗎? – Aravindhan

+0

爲'myButton'添加了IBAction – hemlocker

+0

您應該使用'isEqualToString:'來比較字符串 – 2011-07-20 17:52:03

回答

2

嘗試在IBAction方法中的if語句之前添加[myField resignFirstResponder];。這應該提交已經完成的任何文本編輯,並填充text屬性。

+0

Bravo!似乎修復了它,謝謝! – hemlocker

0

您可以使用通知來確切瞭解UITextField何時更改了其值,討論的內容爲in the docs here

更多關於通知here

也有代表方法UITextFields讓你知道編輯開始和結束時,除其他事項 - docs here

相關問題