2009-07-06 87 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 
相关问题