ios更改webView弹窗样式,有显示域名链接

比较难看,假如我们想把标题改为提示消息要怎么做呢?可以通过给UIWebview添加category的方式实现,代码如下:

//只要导入这个category,就可以修改将网页js弹出框标题为提示信息了。


@interface UIWebView (JavaScriptAlert)

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

- (BOOL)webView:(UIWebView *)sender runJavaScriptConfirmPanelWithMessage:(NSString *)message initiatedByFrame:(id)frame;

@end


@implementation UIWebView (JavaScriptAlert)

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

    UIAlertView* customAlert = [[UIAlertViewalloc] initWithTitle:@"提示"message:message delegate:nilcancelButtonTitle:@"确定"otherButtonTitles:nil];

    [customAlertshow];

}

staticBOOL diagStat = NO;

staticNSInteger bIdx = -1;

- (BOOL)webView:(UIWebView *)sender runJavaScriptConfirmPanelWithMessage:(NSString *)message initiatedByFrame:(id)frame {

    UIAlertView *confirmDiag = [[UIAlertViewalloc] initWithTitle:@"提示"

                                                         message:message

                                                        delegate:self

                                               cancelButtonTitle:@"取消"

                                               otherButtonTitles:@"确定",nil];

    

    [confirmDiagshow];

    bIdx = -1;

    

    while (bIdx==-1) {

        //[NSThread sleepForTimeInterval:0.2];

        [[NSRunLoopmainRunLoop] runUntilDate:[NSDatedateWithTimeIntervalSinceNow:0.1f]];

    }

    if (bIdx ==0){//取消;

        diagStat =NO;

    }

    elseif (bIdx ==1) {//确定;

        diagStat =YES;

    }

    returndiagStat;

}


- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{

    bIdx = buttonIndex;

    

}


猜你喜欢

转载自blog.csdn.net/xtyzmnchen/article/details/74747092