UIWebView 自定义网页中的alert和confirm提示框风格
UIWebView 自定义网页中的alert和confirm提示框风格
?
转载自 : http://blog.sina.com.cn/s/blog_6796844601010nxj.html
?
?
.h
?
#import <UIKit/UIKit.h>@interface UIWebView (JavaScriptAlert)-(void)webView:(UIWebView *)sender runJavaScriptAlertPanelWithMessage:(NSString *)message initiatedByFrame:(WebFrame *)frame;-(BOOL)webView:(UIWebView *)sender runJavaScriptConfirmPanelWithMessage:(NSString *)message initiatedByFrame:(WebFrame *)frame;@end
?
.m
#import "UIWebView+JavaScriptAlert.h"@implementation UIWebView (JavaScriptAlert)static BOOL diagStat = NO;-(void)webView:(UIWebView *)sender runJavaScriptAlertPanelWithMessage:(NSString *)message initiatedByFrame:(WebFrame *)frame{ UIAlertView* dialogue = [[UIAlertView alloc]initWithTitle:nil message:message delegate:nil cancelButtonTitle:@"Okay" otherButtonTitles:nil, nil]; [dialogue show]; [dialogue autorelease];}-(BOOL)webView:(UIWebView *)sender runJavaScriptConfirmPanelWithMessage:(NSString *)message initiatedByFrame:(WebFrame *)frame{ UIAlertView* dialogue = [[UIAlertView alloc] initWithTitle:nil message:message delegate:self cancelButtonTitle:NSLocalizedString(@"Okay", @"Okay") otherButtonTitles:NSLocalizedString(@"Cancel", @"Cancel"), nil]; [dialogue show]; while (dialogue.hidden==NO && dialogue.superview!=nil) { [[NSRunLoop mainRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.01f]]; } [dialogue release]; return diagStat;}-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{ if (buttonIndex==0) { diagStat=YES; }else if(buttonIndex==1){ diagStat=NO; }}@end?
?