美文网首页
iOS 使用UIWebview 弹窗后崩溃

iOS 使用UIWebview 弹窗后崩溃

作者: 今天星期 | 来源:发表于2019-10-12 15:19 被阅读0次

    无意中发现项目登录页(一个web页,基本没人维护)显示弹窗,点击确定按钮,导致项目crash。

    查看控制台 只有如下一行信息

    *** Terminating app due to uncaught exception 'NSInvalidArgumentException',

    继续添加断点 可以得到这样的信息

    WX20191012-144242@2x.png

    可以看到第一行提示存储了一个nil 的对象,导致系统直接崩掉。

    继续往下看,可以看到键盘和响应者。

    所以解决办法是当点击弹窗按钮,让键盘消失即可

    方法一:

    创建UIWebview类别(JavaScriptAlert)添加方法和alert代理

    
    -(void)webView:(UIWebView *)sender runJavaScriptAlertPanelWithMessage:(NSString *)message initiatedByFrame:(id)frame;
    
    

    在.m中 实现上述方法 可自定义弹窗 ps:js弹窗标题是域名

    UIAlertView * alert = [[UIAlertView alloc]initWithTitle:@"你想到更改的标题"message:messagedelegate:self cancelButtonTitle:@"确定" otherButtonTitles:nil, nil];
    [alert show];
    

    在alert代理方法中将键盘消失

    方法二:

    使用WKWebview 代替UIWebview

    相关文章

      网友评论

          本文标题:iOS 使用UIWebview 弹窗后崩溃

          本文链接:https://www.haomeiwen.com/subject/wgbqmctx.html