2009-07-06 63 views
2

我的iPhone應用程序中有開始日期/結束日期功能。除了沒有「全天」選項之外,它與iPhone本機日曆應用程序中的類似。也就是說,用戶可以做的只是輸入開始時間/日期和結束時間/日期。如何檢測何時未選擇UITableView表格單元格?

該接口是一個簡單的分組UITableView與兩個單元格。用戶選擇開始單元格或結束單元格(將其變爲藍色),然後使用UIDatePicker更改每個的值。

我已經得到了一切按預期工作,除了用戶可以點擊表外,這將導致沒有表格單元格被選中。問題是,用戶仍在編輯之前選擇的單元格。

理想情況下,我將能夠限制用戶總是選擇一個表格單元格。除此之外,我會解決能夠檢測到沒有選擇細胞,所以我可以在它編輯任何東西之前攔截UIDatePicker。

+0

原來,SDK 3.0自行修正了這個問題。 – bruce1337 2009-08-02 21:47:27

回答

0

從您的問題看來,您在同一視圖中顯示了一個帶有UIPicker的tableView。您可能希望將選取器放在單獨的視圖中,以便在用戶選擇其中一個單元格時將其推入屏幕。使用這種技術,用戶肯定必須選擇其中一個單元格來編輯選取器中的信息。

1

您可以從UITableViewDelegate實施willDeselectRowAtIndexPath。返回nil和行不會被取消:

- (NSIndexPath *)tableView:(UITableView *)tableView willDeselectRowAtIndexPath:(NSIndexPath *)indexPath { 
    return nil; 
} 

或者,你可以實現didDeselectRowAtIndexPath,你就會知道,這是不選。但是,您必須將其存儲在成員變量或某處:

- (NSIndexPath *)tableView:(UITableView *)tableView willDeselectRowAtIndexPath:(NSIndexPath *)indexPath 
相關問題