代码改变世界

ios中webview的高级用法

2013-07-08 17:31  甘超波  阅读(24240)  评论(1编辑  收藏  举报
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;
}

 

#import "BaseViewController.h"

@interface BaseViewController ()
{
    UIWebView *webview;
}

@end

@implementation BaseViewController

#pragma  mark -life cicry


- (void)viewDidLoad
{
    [super viewDidLoad];
    webview=[[UIWebView alloc] initWithFrame:self.view.bounds];
    webview.delegate=self;//因为这个代理设置的self
    [self.view addSubview:webview];
    [webview loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:self.requestUrl]]];
    
    [webview release];
    UIScrollView *scollview=(UIScrollView *)[[webview subviews]objectAtIndex:0];
    scollview.bounces=NO;
    
    // Do any additional setup after loading the view.
}



- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}


-(void)viewDidUnload{
    [super viewDidUnload];
    self.requestUrl=nil;
}

- (void)dealloc
{
    [_requestUrl release];
    [super dealloc];
}