在我的iOS應用程序中,我遇到了一個問題,在某個操作完成之前能夠多次選擇一個表格單元格。允許表格單元格僅被按下一次
我的情況是,我有用戶鍵入一個值,然後點擊提交。在嘗試完全測試我的代碼時,我注意到可以在我的活動指示器顯示之前多次按下提交。這會導致多次提交。
我該如何解決這個表格?任何建議都會很棒。謝謝。
在我的iOS應用程序中,我遇到了一個問題,在某個操作完成之前能夠多次選擇一個表格單元格。允許表格單元格僅被按下一次
我的情況是,我有用戶鍵入一個值,然後點擊提交。在嘗試完全測試我的代碼時,我注意到可以在我的活動指示器顯示之前多次按下提交。這會導致多次提交。
我該如何解決這個表格?任何建議都會很棒。謝謝。
在tableView:didSelectRowAtIndexPath:
您可以禁用用戶交互整個視圖(包括所有UITableViewCells):
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[self.view setUserInteractionEnabled:NO];
}
然後,無論你正在處理您的操作的完成,重新啓用的觀點:
-(void)yourOperationIsFinished{
[self.view setUserInteractionEnabled:YES];
}
您可以使用一個標誌來指示單元格是否已被選中至少一次,最初是NO
。一旦選擇了表視圖單元格,就會調用方法tableView:didSelectRowAtIndexPath:
。在這種方法中,您可以將標誌設置爲YES
。
如果您還實現方法tableView:willSelectRowAtIndexPath:
,這是tableView:didSelectRowAtIndexPath:
之前調用,您可以返回要麼提交indexPath
,只要你的標誌NO
,或者nil
第一次調用tableView:didSelectRowAtIndexPath:
後。在這種情況下,單元格將不再被選中。
是的,我看到了這種方法,但由於某種原因,這種使用方式並沒有發生在我身上。謝謝,這很好。 – jmr1706