ChavezChen / CWLateralSlide

One line of code to integrate 0 coupling side drawer!一行代码集成0耦合侧滑抽屉!
MIT License
1.28k stars 201 forks source link

主动关闭,tableview点击不响应 #17

Closed hugolubingshen closed 6 years ago

hugolubingshen commented 6 years ago

接上一个问题,主动开头以为是我的tableview有问题,但是用你的demo也是出现一样的问题

`- (void)tableView:(UITableView )tableView didSelectRowAtIndexPath:(NSIndexPath )indexPath { [tableView deselectRowAtIndexPath:indexPath animated:YES];

// NextViewController *vc = [NextViewController new]; // // if (indexPath.row == 0 && _drawerType != DrawerDefaultRight && _drawerType != DrawerTypeMaskRight) { // [self presentViewController:vc animated:YES completion:nil]; //// [self presentViewController:[TestViewController new] animated:YES completion:nil]; // // }else { // [self cw_pushViewController:vc]; // } NSLog(@"🤪"); [self dismissViewControllerAnimated:YES completion:nil]; }` 就改成这样,重复试几次,会出现点击不响应的现象

ChavezChen commented 6 years ago

你的手机是什么版本呀 我这里iOS10 和 iOS 11 都是正常的。。

在leftViewController里面
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    [tableView deselectRowAtIndexPath:indexPath animated:YES];
//    [self dismissViewControllerAnimated:YES completion:nil];

//    NextViewController *vc = [NextViewController new];
//
//    if (indexPath.row == 0 && _drawerType != DrawerDefaultRight && _drawerType != DrawerTypeMaskRight) {
//        [self presentViewController:vc animated:YES completion:nil];
//
//    }else {
//        [self cw_pushViewController:vc];
//    }
    NSLog(@"🤪");
    [self dismissViewControllerAnimated:YES completion:nil];
}

222

ChavezChen commented 6 years ago

你看一下 我demo 里面 我添加了主动dismiss的场景。。

hugolubingshen commented 6 years ago

iOS 11.2 6S plus +iPhone X真机,都是这样,不是每次都这样,点多几次,来回就会出现

hugolubingshen commented 6 years ago

主动dismiss的场景?

ChavezChen commented 6 years ago

就是刚刚添加了一个你说的这个情况。。。我再多测试一下看看

ChavezChen commented 6 years ago

我刚升级到11.2 7P 运行demo还是没出现。。。你能录个屏看看么。。

ChavezChen commented 6 years ago

侧滑返回演示.mp4.zip 我用11.2.1 的iPhoneX 也没发现。。。兄弟,尽力了,定位不到问题😓

hugolubingshen commented 6 years ago
dispatch_async(dispatch_get_main_queue(), ^{
    [self dismissViewControllerAnimated:YES completion:nil];
});

我把操作放在主线程,就OK了

ChavezChen commented 6 years ago

OK!解决了就好

ChavezChen commented 6 years ago

=。= 不过我有点不理解。。为啥会跑到子线程去。。