self.tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];
2,iOS UIWebView高度大小自适应
- (void)webViewDidFinishLoad:(UIWebView *)webView //网页加载完成的时候调用
{ CGRect frame = webView.frame; CGSize fittingSize = [webView sizeThatFits:CGSizeZero]; frame.size = fittingSize; webView.frame = frame; } 3,设置UITableViewCell的选中背景颜色和选中字体颜色的方法 //设置UITableViewCell的选中背景颜色的方法 UIView *view = [[ UIView alloc]init]; view.backgroundColor=[ UIColor redColor]; cell.selectedBackgroundView=view; //设置UITableViewCell的选中字体颜色的方法: cell.selectedTextColor=[ UIColor blackColor]; //默认显示为白色 4,iOS设置UITableViewCell的背景色透明 //设置UIColor为clearColor: cell.backgroundColor=[ UIColor clearColor]; //或者,设置颜色透明度为0: cell.backgroundColor = [ UIColor colorWithWhite:0.0f alpha:0.0f]; 5,iOS跳转界面时隐藏tabBar的方法 //1.设置self.tabBarController.tabBar.hidden=YES; self .tabBarController.tabBar.hidden= YES ; //2.如果在push跳转时需要隐藏tabBar,设置self.hidesBottomBarWhenPushed=YES; self .hidesBottomBarWhenPushed= YES ; NextViewController *next=[[NextViewController alloc]init]; [ self .navigationController pushViewController:next animated: YES ]; self .hidesBottomBarWhenPushed= NO ; //并在push后设置self.hidesBottomBarWhenPushed=NO; //这样back回来的时候,tabBar会恢复正常显示。 6,在iOS开发中,设置tabBarItem.image图片渲染模式 imageWithRenderingMode属性为UIImageRenderingModeAlwaysOriginal ,即可使图片显示原始状态 self.tabBarItem.image=[[UIImage imageNamed:images[i]] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; 7,使用[NSURL URLWithString:urlString]生成URL对象时,如果含有中文字符,iOS客户端不能正确进行网络请求 NSString* encodedString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 8,UIWebview加载数据和高度自适应当url地址中包含有中文字符或其他非标准的url字符时,需要对该url地址进行编码。NSString提供编码和解码方法:
编码:stringByAddingPercentEscapesUsingEncoding
1 2 3 NSString *urlString=[NSString stringWithFormat:@ "http://www.xxxx.com/?param=%@" ,@ "中文" ]; urlString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
解码:stringByReplacingPercentEscapesUsingEncoding
1 NSString *urlStr = [@ "xxx" stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];UIWebview加载数据的三种方法
1>- (void)loadRequest:(NSURLRequest *)request;
1 2 3 NSURL *url = [NSURL URLWithString:urlString]; NSURLRequest *request = [NSURLRequest requestWithURL:url]; [self.webView loadRequest:request];直接加载url地址。
2>- (void)loadHTMLString:(NSString *)string baseURL:(NSURL *)baseURL;
如果获取到的是HTML字符串,可以用这个方法加载。
3>- (void)loadData:(NSData *)data MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)textEncodingName baseURL:(NSURL *)baseURL;
1 2 3 NSURL *url = [NSURL URLWithString:urlString]; NSData *data=[NSData dataWithContentsOfURL:url]; [self.webView loadData:data MIMEType:@ "text/html" textEncodingName:@ "GBK" baseURL:nil];编码格式有GB2312、GBK、UTF-8等许多种,当url地址的编码格式比较特殊时,可以用这个方法加载。
UIWebview高度自适应
1>实现下面的事件方法能使WebView大小高度自适应:
遵守协议UIWebViewDelegate,设置代理self.webView.delegate=self;
实现- (void)webViewDidFinishLoad:(UIWebView *)webView事件方法
1 2 3 4 5 6 7 - ( void )webViewDidFinishLoad:(UIWebView *)webView //网页加载完成的时候调用 { CGRect frame = webView.frame; CGSize fittingSize = [webView sizeThatFits:CGSizeZero]; frame.size = fittingSize; webView.frame = frame; }此方法得到的webView自适应的高度是固定的,如果显示的HTML的高度超过webView的高度,则以屏幕滚动的方式显示。
2>如果想让webView的高度等于显示的HTML的实际高度,即显示的HTML有多高,webVIew的高度就有多高,则使用以下方法
1 2 3 4 5 - ( void )webViewDidFinishLoad:(UIWebView *)webView { NSInteger height = [[webView stringByEvaluatingJavaScriptFromString:@ "document.body.scrollHeight" ] integerValue]; self.webView.frame=CGRectMake(0, 0, self.view.frame.size.width,height); }stringByEvaluatingJavaScriptFromString可以实现UIWebView与JavaScript之间的交互,很方便的操作UIWebview中的页面元素。
虽然这个方法能使webView高度为显示的HTML实际高度,但效果并不是太好,当高度超出屏幕时,无法滚动下拉。
3>若要在webVIew的高度为实际HTML的高度的情况下实现滚动,可综合两种方法,将webView放置于一个合适大小的scrollView上,即可实现:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 - ( void )webViewDidFinishLoad:(UIWebView *)webView { CGRect frame = webView.frame; CGSize fittingSize = [webView sizeThatFits:CGSizeZero]; frame.size = fittingSize; webView.frame = frame; NSInteger height = [[webView stringByEvaluatingJavaScriptFromString: @ "document.body.scrollHeight" ] integerValue]; self.scrollView.contentSize=CGSizeMake(self.view.frame.size.width, height); [self.scrollView addSubview:self.webView]; }另,以下三段代码效果基本相同:
[webView stringByEvaluatingJavaScriptFromString:@"document.body.scrollHeight"];
[webView stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight"];
[webView stringByEvaluatingJavaScriptFromString:@"document.body.clientHeight"];
转载于:https://www.cnblogs.com/pjl0426/p/5018111.html
