zon*_*gon 3 objective-c uitableview ios
我的应用程序在tableView:didSelectRowAtIndexPath中调用一个块,并在块中显示一个视图控制器.如果我在第一次单击正在进行时第二次单击该单元格,则会崩溃.如何防止第二次单击该单元格?
- (void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
[dataController fetchAlbum:item
success:^(Album *album) {
...
...
[self presentViewController:photoViewController animated:YES completion:nil];
}];
Run Code Online (Sandbox Code Playgroud)
在开始时didSelectRow,关闭桌面上的用户互动.
- (void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
tableView.userInteractionEnabled = NO;
...
Run Code Online (Sandbox Code Playgroud)
您可能希望稍后在完成fetchAlbum(在主线程上执行此操作)时将其重新打开,以便在用户返回此视图(或提取失败)时,它们可以再次与表进行交互.
对于快速 3 :
当用户选择一行时,关闭用户交互:
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
tableView.isUserInteractionEnabled = false
Run Code Online (Sandbox Code Playgroud)
每当视图出现时,不要忘记将其打开:
override func viewDidAppear(_ animated: Bool) {
tableView.isUserInteractionEnabled = true
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2635 次 |
| 最近记录: |