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

本文转载至 http://www.cnblogs.com/taintain1984/p/3397298.html

uiwebview 屏幕自适应 -- 根据 内容适应或者 webview适应的更多相关文章

  1. 【Cocos2d-x 3.x】屏幕自适应匹配

    在进行游戏开发时, 由于市场上的Android移动设备的分辨率有很多种,而且IOS移动设备的分辨率也不相同,为了能让手游能在90%以上的移动设备较为完美的运行,因此需要考虑屏幕的自适应问题,让一套资源 ...

  2. ios webview自适应实际内容高度4种方法

    有的时候会碰见类似的苦逼需求, webview自适应实际内容高度 下面有四种方法供使用 方法1:获取webview中scrovllview的contentsize进行设置   1 2 3 4 5 6 ...

  3. 4种必须知道的Android屏幕自适应解决方案

    文章来源:http://blog.csdn.net/shimiso/article/details/19166167 demo下载:http://www.eoeandroid.com/forum.ph ...

  4. .Net语言 APP开发平台——Smobiler学习日志:开发APP时,如何快速地实现屏幕自适应

    最前面的话:Smobiler是一个在VS环境中使用.Net语言来开发APP的开发平台,也许比Xamarin更方便 一.属性介绍 设置控件在客户端屏幕可见并超出客户端屏幕时,是否自动调节高度以适应屏幕高 ...

  5. 【Unity3D插件】NGUI屏幕自适应(转)

    屏幕自适应 NGUI可以比较方便的实现屏幕自适应,但是它的官方教程里面针对这个问题没有详细的教程,所以可能在实现的时候会走比较多的弯路.以下是我在开发过程中找到的一个比较方便的实现方法. 主要组件 1 ...

  6. 四种必须知道的Android屏幕自适应解决方案

    一.细说layout_weight     目前最为推荐的Android多屏幕自适应解决方案.     该属性的作用是决定控件在其父布局中的显示权重,一般用于线性布局中.其值越小,则对应的layout ...

  7. HTML5工具做屏幕自适应的两种方法

    近一两年,HTML5在中国很火,也出了不少HTML5工具和模板.别的先不说,对于不同的H5工具,解决屏幕自适应问题的区别是什么? 简单来说,感应式设计是当用不同设备访问时,能够根据设备的宽度和高度对设 ...

  8. firemonkey 手机屏幕自适应程序问题

    我是新手.在我才学了2个星期的时候,那个白痴老板说什么手机屏幕自适应程序,我当时不能理解呀,觉得用Delphi的布局设计不就行了吗.结果他说:我就是想让控件内容什么的放在小屏幕手机上也不出来.我就说, ...

  9. flex自适应高度内容高度超出容器高度自动出现滚动条的问题

    在容器中设置 flex-grow:2; overflow-y:auto;overflow-x:hidden;容器高度自适应. 内容高度不固定,无法出现滚动条,然后在容器中添加height:0,出现滚动 ...

随机推荐

  1. CSS的7种常用的垂直居中的方法

    1.绝对定位上下百分之五十然后上外边距做外边距都是他的宽高的一半 #child{ width: 200px; height: 150px; position: absolute; left: 50%; ...

  2. case...when...简单用法sql说明

    1.项目用到的sql展示 select n.name,n.position, case when ( then '有' else '无' end PUNISHMENT, case when ( the ...

  3. Java学习之自动装箱和自动拆箱源码分析

    自动装箱(boxing)和自动拆箱(unboxing) 首先了解下Java的四类八种基本数据类型   基本类型 占用空间(Byte) 表示范围 包装器类型 boolean 1/8 true|false ...

  4. 编译安装Nginx和php搭建KodExplorer网盘

    编译安装Nginx和php搭建KodExplorer网盘 环境说明: 系统版本    CentOS 6.9 x86_64         软件版本    nginx-1.12.2        php ...

  5. 怪异恼人的java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream问题的解决

    测试以前做的一个邮件发送类,出现以下问题: Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/m ...

  6. Centos 通过yum的方式升级内核

    在安装某些软件时,可能对我们的系统内核版本有要求. 比如在安装docker要满足一定的条件,对于centos系统,要求必须是64位,并且内核版本是3.10以上. 如果你的centos操作系统内核低于3 ...

  7. Laravel5.1之表单验证

    一.生成一个验证类 1.生成 artisan make:request TestRequest 2.生成的文件在项目Http下的Requests文件夹下 3.默认生成的文件如下 class TestR ...

  8. HDOJ 1534 Schedule Problem 差分约束

    差分约数: 求满足不等式条件的尽量小的值---->求最长路---->a-b>=c----> b->a (c) Schedule Problem Time Limit: 2 ...

  9. 通过Navicat for MySQL远程连接的时候报错mysql 1130 的解决方法

    用Navicat连接远程MYSQL,提示如下错误,我以为是自己的防火墙问题,但是关了,依然不行. ERROR 1130: Host '192.168.1.3' is not allowed to co ...

  10. RAP + MOCK

    前后端分离式开发的思考 目前大部分公司都实行了前后端分离开发.然而在项目开发过程当中,经常会遇到以下几个尴尬的场景: 1.前端开发依赖于后端接口数据,需要与后端接口联调才能获得数据展示,从而拖慢了开发 ...