沧海一粟

----not just a programmer

导航

ios学习之UIWebView网页视图调整

//先来一个可行的小Demo程序:结合searchBar的google搜索

#import <UIKit/UIKit.h>
 
@interface ViewController : UIViewController<UIWebViewDelegate,UISearchBarDelegate>{
    UIWebView *webView;
    UISearchBar *searchBar;
}
 @end
 
-(void)loadView{            
    [super loadView];    
    CGRect bounds = [[UIScreenmainScreen] applicationFrame];
    
    //UISearchBar    
    searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0.0, 0.0, bounds.size.width, 48.0)];   
    searchBar.delegate = self;    
    searchBar.placeholder = @"Google";   //提示字符
    [self.view addSubview:searchBar];
    
    webView = [[UIWebViewalloc] initWithFrame:CGRectMake(0, 48, 320, 432 )];
    [webView setScalesPageToFit:YES];                    //自动缩放页面以适应屏幕
    [self.view addSubview:webView];                     //连接到一个现有的窗口上
    
}
 
-(void)searchBarSearchButtonClicked:(UISearchBar *)activeSearchBar{
    NSString *query = [searchBar.text stringByReplacingOccurrencesOfString:@" "withString:@"+"];//将“ ”空格替换成“+”
    NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"http://www.google.com/search?q=%@",query]];
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    [webView loadRequest:request];//链接网络地址
}

 //2.用webview显示内容,高度自适应

//webview显示简介内容
    UIWebView * webviewinfomationDetails = [[UIWebView alloc] initWithFrame:GRAPH_SIZE_INTRODUCETEXT];
    webviewinfomationDetails.backgroundColor = [UIColor clearColor];
    [webviewinfomationDetails loadHTMLString:remark baseURL:nil];
    [webviewinfomationDetails setUserInteractionEnabled:NO];
    [(UIScrollView *)[[webviewinfomationDetails subviews] objectAtIndex:0] setBounces:NO];  
    [webviewinfomationDetails setScalesPageToFit:NO];     //yes:根据webview自适应,NO:根据内容自适应
[webviewinfomationDetails setDelegate:self];
    [myScrollView addSubview:webviewinfomationDetails];
    [webviewinfomationDetails release];



//另一种显示方式
//定义WebView显示内容
    webviewinfomationDetails = [[UIWebView alloc] initWithFrame:GRAPH_SIZE_WEBVIEW];
    [webviewinfomationDetails setScalesPageToFit:NO];  //大小自适应
    NSString *path = [[NSBundle mainBundle] bundlePath];
    NSURL *base = [NSURL fileURLWithPath:path];
    [webviewinfomationDetails loadHTMLString:remark baseURL:base];//链接url
    [webviewinfomationDetails setUserInteractionEnabled:NO];//设置用户不可修改
    [informationDetailsScroll addSubview:webviewinfomationDetails];
    webviewinfomationDetails.delegate=self;
    [webviewinfomationDetails release];



//webview委托   高度自适应
-(void)webViewDidFinishLoad:(UIWebView *)webView
{
    CGSize actualSize = [webView sizeThatFits:CGSizeZero];
    CGRect newFrame = webView.frame;
    newFrame.size.height = actualSize.height;
    webView.frame = newFrame;
    
    CGSize newsize=CGSizeMake(320, 356+webView.frame.size.height);
    myScrollView.contentSize=newsize;
}

 

posted on 2013-10-30 17:07  沧海一粟-啊添  阅读(8916)  评论(0编辑  收藏  举报