2013-09-30 56 views
1

在我的iOS應用程序中,我遇到了一個問題,在某個操作完成之前能夠多次選擇一個表格單元格。允許表格單元格僅被按下一次

我的情況是,我有用戶鍵入一個值,然後點擊提交。在嘗試完全測試我的代碼時,我注意到可以在我的活動指示器顯示之前多次按下提交。這會導致多次提交。

我該如何解決這個表格?任何建議都會很棒。謝謝。

回答

2

tableView:didSelectRowAtIndexPath:您可以禁用用戶交互整個視圖(包括所有UITableViewCells):

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
    [self.view setUserInteractionEnabled:NO]; 
} 

然後,無論你正在處理您的操作的完成,重新啓用的觀點:

-(void)yourOperationIsFinished{ 
    [self.view setUserInteractionEnabled:YES]; 
} 
+0

是的,我看到了這種方法,但由於某種原因,這種使用方式並沒有發生在我身上。謝謝,這很好。 – jmr1706

0

您可以使用一個標誌來指示單元格是否已被選中至少一次,最初是NO。一旦選擇了表視圖單元格,就會調用方法tableView:didSelectRowAtIndexPath:。在這種方法中,您可以將標誌設置爲YES
如果您還實現方法tableView:willSelectRowAtIndexPath:,這是tableView:didSelectRowAtIndexPath:之前調用,您可以返回要麼提交indexPath,只要你的標誌NO,或者nil第一次調用tableView:didSelectRowAtIndexPath:後。在這種情況下,單元格將不再被選中。

相關問題