2012-04-30 19 views
1

我有一個嵌入了UITableView的UIView。 同一視圖中的一個文本字段應控制表格的單元格編號。 如果用戶輸入數字4,那麼TableView應立即更改其單元格編號以反映用戶輸入的內容。 單元格的內容就像「請選擇」一樣。iOS使用日期選擇器動態更改單元格的內容

然後,當用戶選擇一個單元格時,日期選取器應該出現,讓用戶選擇日期/時間,然後,當選取器被解散時,該單元格應該更改爲選定的日期/時間。

自從兩天以上我就要瘋了。我沒有在這裏寫任何代碼,因爲我真的不知道從哪裏開始,到目前爲止我嘗試過的所有事情都是徹底的失敗。

如果有人能帶我到解決方案,我會非常感激。 謝謝。

回答

1

如果您在iPad上,當用戶選擇它時,您可以從選定的單元格中顯示UIPopOverController。在iPhone上,您可以呈現模態視圖控制器。請參閱-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

您必須實現處理從UIDatePicker獲取值的代碼,當其呈現視圖控制器被解除時。另外,你必須在視圖控制器中託管UIDatePicker,因爲沒有辦法(據我所知)單獨展示它。

所以,我所提出的解決方案是:

  1. 創建承載的UIDatePicker要提出一個新的視圖控制器。
  2. 在該視圖控制器上,放入「確定」和「取消」按鈕。
  3. 將屬性添加到引用您的「主」視圖控制器的視圖控制器。這使得託管UIDatePicker的視圖控制器可以在完成選擇日期後向「主」視圖控制器發送消息。
  4. 在你的「主」視圖控制器中,爲你的UITableView處理tableView:didSelectRowAtIndexPath:事件。
  5. 呈現視圖控制器以向用戶顯示UIDatePicker。
  6. 如果用戶選擇「OK」,關閉模式/彈出窗口視圖控制器並用新信息更新單元格(您可能需要一個NSDate值數組並調用[tableView reloadData]來執行此操作)。
  7. 如果用戶選擇「取消」,請關閉模式/彈出式視圖控制器並且不要更新任何東西。
+0

非常感謝你。這正是我所期待的。 – Aleph72

+0

太棒了!樂意效勞。 – mbm29414

1

我認爲this tutorial會幫你..我一直在遵循這一too..i也面臨着你有同樣的問題..

相關問題