2009-12-17 75 views
0

我有一個文件夾數組。每個文件夾都列爲表格視圖行。UITextField和UITableViews ...我是否正確地做到了這一點?如果不是,最好的方法是什麼?

當我顯示我的表格時,我在行的左側用一組文本框填充它(我希望用戶能夠編輯它們)和一組開關(開/關)該行的右側。

一切正常,您可以觸摸文本框並顯示鍵盤。您也可以每次更改開關的值。

我遇到的問題是知道哪個文本字段已更改,以便我可以更新我的陣列準備保存值。

我使用..

[textField addTarget:self action:@selector(textFieldDone:) forControlEvents:UIControlEventEditingDidEndOnExit]; 

和...

-(void)textFieldDone:(UITextField *)textField 

的問題是,該文本框對象不包含在textFieldDone選擇任何關於它的唯一信息。我試過設置

[textField setTag:rowNumber]; 

但它沒有顯示標籤不是textField對象的一部分。

任何有關這樣做的最佳方式的任何想法?當然,必須有許多應用程序在表格行中有文本區域,您可以在它們之間切換?

或者在這裏也許我失去了一些東西....

回答

0

其實「標籤」是的UITextField的一部分,因爲它是從UIView的繼承。

也許我可以建議一種不同的方法。如果當前使用開關表示的布爾值設置爲YES,則使用您的表格視圖在附件視圖中顯示帶複選標記的數據。當用戶點擊該行時,推送包含文本字段和用戶可編輯的開關的新視圖控制器。

是否有您看到的應用程序使用UI方法嘗試使用文本字段並切換到表格單元格中?

請記住,您可能重複使用了表格單元格,這就是您應該做的事情,但是您可能不會在後續使用該單元格時設置標記。只是在這裏猜測。

+0

一旦我寫了這個問題,我開始考慮最好的方式來做到這一點。我認爲我一直在努力變得聰明,並且使我應該堅持現有UX協議的用戶更容易。 當我說「標記」不是UITextField的一部分時,我的意思是在調試器或NSLog(@「%@」,textField.tag)中檢查它不存在。 將看看是否有更好的方式來編碼這... 感謝您的幫助和支持:) – 2009-12-17 17:04:58

相關問題