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; }