webView代理

本文介绍如何使用 iOS 中的 UIWebView 进行网页显示,并详细解释了如何调整 WebView 的大小以适应屏幕,设置字体颜色,禁用反弹效果以及监听加载完成事件。


webView = [[UIWebView alloc]initWithFrame:CGRectMake(0, 44, 320, 440)];
  [webView setUserInteractionEnabled:YES];//是否支持交互
  //[webView setDelegate:self];
  webView.delegate=self;
  [webView setOpaque:NO];//opaque是不透明的意思
  [webView setScalesPageToFit:YES];//自动缩放以适应屏幕
  [self.view addSubview:webView];
  






#pragma mark - webView高度代理


- (void)webViewDidFinishLoad:(UIWebView *)webView{

    

    

    NSString *meta = [NSStringstringWithFormat:@"document.getElementsByName(\"viewport\")[0].content = \"width=%f, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no\"", webView.frame.size.width];

    [webView stringByEvaluatingJavaScriptFromString:meta];

    

    [webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName('body')[0].style.webkitTextSizeAdjust= '100%'"];

    //字体颜色

    [webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName('body')[0].style.webkitTextFillColor= 'gray'"];

    

    //获取页面高度(像素)

    float clientheight = webView.scrollView.contentSize.height;

    //设置到WebView

    webView.frame = CGRectMake(0, 0, iPhoneWidth, clientheight);

    

    // 修改界面的高度

    height_All += clientheight;

    [selfreloadRootContentSize];

    


}


1.隐藏上下滚动时出边界的后面的黑色的阴影
- (void) hideGradientBackground:(UIView*)theView
{
  for (UIView * subview in theView.subviews)
  {
    if ([subview isKindOfClass:[UIImageView class]])
      subview.hidden = YES;

    [self hideGradientBackground:subview];
  }
}

2. 禁用拖拽时的反弹效果
[(UIScrollView *)[[webView subviews] objectAtIndex:0] setBounces:NO];  

3. 判断用户点击类型

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
    switch (navigationType) 
    {
        //点击连接
        case UIWebViewNavigationTypeLinkClicked:
        {
            NSLog(@"clicked");
        }
            break;
        //提交表单
        case UIWebViewNavigationTypeFormSubmitted:
        {
            NSLog(@"submitted");
        }
        default:
            break;
    }
    return YES;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值