UIViewController中的view自动排版(ios6和ios7)


问题提出,ios6和ios7中视图控制器的创建中的view的是会自动排版的,就是你自定义其中的view,也改变不了其尺寸,ios6自定义的尺寸是{{0, 20}, {320, 460}},ios7自定义的尺寸是{{0, 0}, {320, 480}}这就为兼容性造成很大的困扰?


//解决方案,苹果这么设计貌似是为了自动匹配设备方向的改变,那么我们就可以在设备支持方向里面进行尺寸的修改,
eg:- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation{
return YES;
}//6.0以前调用
- (BOOL)shouldAutorotate{
self.view.frame=CGRectMake(0, 30, 320, 460);//这个就能将ios6,7视图尺寸不匹配的问题解决
return YES;
}//6.0以后调用

此方法来自一篇外国文档
http://stackoverflow.com/questions/6757018/why-am-i-having-to-manually-set-my-views-frame-in-viewdidload

UIViewController中的view自动排版(ios6和ios7),布布扣,bubuko.com

时间: 2024-08-04 12:01:15

UIViewController中的view自动排版(ios6和ios7)的相关文章

iOS6和iOS7代码的适配(1)——坐标适配

由于iOS7里面status bar和视图是重叠在一起了,所以应用的y坐标就没法和以前一致了,需要重新计算设定.基本上,你的应用用Xcode5运行一下就能看见这个问题,这里写了一个最简单的例子,一个View上加了一个Label控件,分别在iOS6和iOS7的模拟器上的样子. 从图上明显可以看到,iOS7上的应用y坐标起始计算点是从屏幕顶点算起,而iOS6是从status bar来算起,这个原因是导致一切问题的根源. 好了,找到了问题就好办,我列举一下看到过的尝试过的方法: 1. 修改window

UIViewController中view的释放过程

第一.viewDidUnload方法 1.调用时机: 内存吃紧时,在iPhone OS 3.0之前didReceiveMemoryWarning是释放无用内存的唯一方式,但是OS 3.0及以后viewDidUnload方法是更好的方.当系统内存吃紧的时候会调用该方法,释放view,释放的view必须是已经在内存的view,即通过viewdidload之后的view,而不是controller,在iphone应用程序,可以controller已经创建,但是view可以没有进内存,另外该方法不会是v

mac osx中 如何实现在sublime中 装载对c/c++ 自动排版插件astyleformatter

1. astyleformatter自动排版插件下载 在如下网址中,找到download(如图),然后转接到github下载插件.(可能需要FQ) 网址:https://packagecontrol.io/packages/SublimeAStyleFormatter 2.安装插件 (1)直接下载好想要的插件,然后打开菜单栏里的“Preferences”--->"Browse Packages",打开包的位置 (2)然后将下载的好插件直接放置到Packages目录,重启Subli

转:UIViewController中各方法调用顺序及功能详解

UIViewController中loadView, viewDidLoad, viewWillUnload, viewDidUnload, viewWillAppear, viewDidAppear, viewWillLayoutSubviews,viewDidLayoutSubviews,viewWillDisappear, viewDidDisappear方法,按照调用顺序说明如下: 调试日志: 1 2 3 4 5 6 7 8 9 2013-07-14 12:15:49.048 VCTes

UIViewController中各方法调用顺序及功能详解

UIViewController中loadView, viewDidLoad, viewWillUnload, viewDidUnload, viewWillAppear, viewDidAppear, viewWillLayoutSubviews,viewDidLayoutSubviews,viewWillDisappear, viewDidDisappear方法,按照调用顺序说明如下: 调试日志: 1 2 3 4 5 6 7 8 9 2013-07-14 12:15:49.048 VCTes

(转)UIViewController中各方法调用顺序及功能详解

目录(?)[-] 1 initWithNibNamebundle 2 loadView 3 viewDidLoad 4 viewWillAppear 5 viewDidAppear 6 viewWillLayoutSubviews 7 viewDidLayoutSubviews 8 viewWillDisappear 9 viewDidDisappear 10 viewWillUnload 11 viewDidUnload UIViewController中loadView, viewDidLo

Source insight添加工具自动排版

当在网上找了一些别人的程序拿来学习,用Source insight来看时,会不会因为代码太乱看了义愤填膺呢? 有很多集成的开发环境可以自动排版,但source insight却不行!不过,有工具和配置,可以帮助完成这个事情: 1,下载astyle工具:http://download.csdn.net/detail/taixinlfx/43067302,打开你的SourceInsight, 选择菜单"Options-->Custom Commands-->Add", 输入Ar

UIViewController中的loadView方法

一.死循环(self.view为nil) @implementation ViewController - (void)loadView{ NSLog(@"loadView......."); } - (void)viewDidLoad { [super viewDidLoad]; NSLog(@"viewdidLoad....."); UIView *selfView = self.view; } - (void)didReceiveMemoryWarning {

Eclipse中输入变量会自动补全上屏的解决方法

我自己在启动Eclipse代码补全后输入感觉确实爽多了,但是每次输入变量后一按下空格,编译器会自己帮你写一个很蛋疼的名字,比如你输入了:String mStr后按下空格,它就变成了mString,十分讨厌.下面是正规的解决办法,但是经过我反复折腾,我实在没办法把插件的源码显示到工程中.于是偷个懒去网上下载了已经修改好的jar包,成功搞定. 我自己复制jar包的目录是:D:\Work Appliactions\adt-bundle-windows-x86-20140702\eclipse\plug