Jör*_*ink 4 objective-c uitableview ios
在我的iOS App中,我使用了一个UItableViewController
...
[self presentViewController:vc animated:YES completion:nil];
...
Run Code Online (Sandbox Code Playgroud)
现在我在tableview中点击一行后,我想解雇我的tableviewcontroller:
#pragma mark UITableViewDelegate
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[self dismissViewControllerAnimated:true completion:^(void) {
NSLog(@"dismissed");
}];
}
Run Code Online (Sandbox Code Playgroud)
现在我的问题:dismissViewControllerAnimated按预期工作,但我必须点击该行2次.我第一次点击该行没有任何反应.
到目前为止的观察:
似乎即使我只点击一次,完成块也将被"安排".但解雇不会发生.
有谁知道是什么导致这个问题?
感谢par和ShahiM,我得到了解决方案:我不得不在主线程上解雇.
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[self performSelectorOnMainThread:@selector(dismissAndshowPdf) withObject:nil waitUntilDone:NO];
}
- (void) dismissAndshowPdf {
[self.presentingViewController dismissViewControllerAnimated:true completion:^(void) {
NSLog(@"dismissed");
}];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
543 次 |
| 最近记录: |