下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
【移动应用开发技术】ios7中关于导航切换影响UIScrollView的问题
在iOS7中,如果某个UIViewController的self.view第一个子视图是UIScollView,同时当这个UIViewController被push或initWithRootController成为UINavigationController控制的Controller时,这个UIViewController的view的子视图UIScollView的所有子视图,都会被下移64px。
这个下移64px的前提是navigationBar和statusBar没有隐藏。因为为statusBar默认的Height是20px,而navigatiBar
默认的Height是44px。下面来比较一下实例:
不使用导航的界面跳转
1.在AppDelegate.m文件中:-(BOOL)application:(UIApplication*)applicationdidFinishLaunchingWithOptions:(NSDictionary*)launchOptions
{
self.window=[[UIWindowalloc]initWithFrame:[[UIScreenmainScreen]bounds]];
self.window.backgroundColor=[UIColorwhiteColor];
//下面两行为增加的代码
ViewController*rootViewController=[[ViewControlleralloc]init];
[self.windowsetRootViewController:rootViewController];
[self.windowmakeKeyAndVisible];
returnYES;
}
2.在ViewController.m中:-(void)viewDidLoad
{
[superviewDidLoad];
UIScrollView*scrollView=[[UIScrollViewalloc]initWithFrame:CGRectMake(30.0,
64.0,260.0,300.0)];
[scrollViewsetBackgroundColor:[UIColorredColor]];
UIView*view=[[UIViewalloc]initWithFrame:scrollView.bounds];
[viewsetBackgroundColor:[UIColorblueColor]];
[scrollViewaddSubview:view];
[self.viewaddSubview:scrollView];
}
3.运行后的结果:这种情况下,scrollView并未受影响。4.现在使用UINavigationController,
将开始AppDelegate.m增加的那两行代码修改成:
ViewController*rootViewController=[[ViewControlleralloc]init];
UINavigationController*navController=[[UINavigationControlleralloc]
initWithRootViewController:rootViewController];
[self.windowsetRootViewController:navController];
5.现在再次运行程序:如结果显示,scrollView背景色为蓝色的子视图位置自动下移了。而这个下移的距离刚好是64.0px。解决方法:
第一种:在ViewController的init的方法中增加一行代码:self.automaticallyAdjustsScrollViewInsets=NO;
第二种:让UIScrollView不要成为ViewController的View的第一个子视图。具体操作:将viewDidLoad方法修改成如下:-(void)viewDidLoad
{
[superviewDidLoad];
UIView*firstSubView=[[UIViewalloc]initWithFrame:self.view.bounds];
[self.viewaddSubview:firstSubView];
UIScrollView*scrollView=[[UIScrollViewalloc]initWithFrame:CGRectMake(30.0,
64.0,260.0,300.0)];
[scrollViewsetBackgroundColor:[UIColorredColor]];
UIView*view=[[UIViewalloc]initWithFrame:scrollView.bounds];
[viewsetBackgroundColor:[UIColorblueColor]];
[scrollViewaddSubview:view];
[self.viewaddSubview:scrollView];
}
第三种:将UIScorllView的子视图上移64.0px。修改viewDidLoad方法:UIScrollView*scrollView=[[UIScrollViewalloc]initWithFrame:CGRectMake(30.0,
64.0,260.0,300.0)];
[scrollViewsetBackgroundColor:[UIColorredColor]];
CGRectviewFrame=CGRectMake(0,-64.0,CGRectGetWidth(scrollView.frame),
CGRectGetHeight(scrollView.frame));
UIView*view=[[UIViewalloc]initWithFrame:viewFrame];
[viewsetBackgroundColor:[UIColorblueColor]];
[scr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度苗木种植与林业资源保护合作合同4篇
- 二零二五年度铁路货运承运服务合同模板4篇
- 二零二五年度门卫巡逻车购置与维护合同8篇
- 2025厂长任期目标与激励约束机制聘用合同4篇
- 二零二五版货物保险理赔处理合同
- 二零二五年期限知识产权许可使用及推广合同2篇
- 二零二五年度房地产代持租赁合同规范范本4篇
- 二零二五年建筑钢材采购及加工配送合同6篇
- 2025年度中式餐厅装修设计与经营承包协议3篇
- 二零二五年度科技园区房屋租赁协议延期及研发支持合同4篇
- GB/T 31888-2015中小学生校服
- 质量检查考核办法
- 不动产登记实务培训教程课件
- 不锈钢制作合同范本(3篇)
- 云南省普通初中学生成长记录-基本素质发展初一-初三
- 2023年系统性硬化病诊断及诊疗指南
- 外科医师手术技能评分标准
- 《英语教师职业技能训练简明教程》全册配套优质教学课件
- 采购控制程序
- 六年级上册数学简便计算题200题专项练习
- 冀教版八年级上册Unit 1 单词短语句型复习预习单
评论
0/150
提交评论