iOS模态跳转的页面WebView中加载html调用本机相册会dismiss返回上一个页面解决办法

首先感谢作者,提供了完美的解决办法,讲解的非常的详细。原文地址 

我在这里只是为了帮助大家可以尽快的解决问题,稍微的总结下。


首先在页面中定义一个全局布尔值_flag,然后加入下面的代码,就能解决问题,html调用本地相册不再会调用dismiss返回上个页面。但是你点击返回按钮也失效了

- (UIViewController *)presentingViewController {
    if (_flag) {
        return nil;
    } else {
        return [super presentingViewController];
    }
}
- (void)presentViewController:(UIViewController *)viewControllerToPresent animated:(BOOL)flag completion:(void (^)(void))completion {
    if ([viewControllerToPresent isKindOfClass:[UIDocumentMenuViewController class]]
        ||[viewControllerToPresent isKindOfClass:[UIImagePickerController class]]) {
        _flag = YES;
    }
    
    [super presentViewController:viewControllerToPresent animated:flag completion:completion];
}

解决模态跳转的页面WebView中加载html调用本地相册会dismiss和返回按钮dismiss失效办法(终极方案)

首先分别定义布尔值_flag和dismissBool 

-(void)clickHome//返回按钮的方法
{
    [self dismissViewControllerAnimated:YES completion:nil];
    dismissBool = YES;
}
-(UIViewController *)presentingViewController {
    if (!dismissBool) {
        if (_flag) {
            return nil;
        } else {
            return [super presentingViewController];
        }
    }else{
        return [super presentingViewController];
    }
    
}
- (void)presentViewController:(UIViewController *)viewControllerToPresent animated:(BOOL)flag completion:(void (^)(void))completion {
    if ([viewControllerToPresent isKindOfClass:[UIDocumentMenuViewController class]]
        ||[viewControllerToPresent isKindOfClass:[UIImagePickerController class]]) {
        _flag = YES;
    }
    
    [super presentViewController:viewControllerToPresent animated:flag completion:completion];
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值