关于UINavigationBar遮挡UIView,UITableview的研究
2016-01-20 16:45
351 查看
研究环境:ios7.1, iphone4
情况1 当UIView , UITableView使用约束时,UINavigationBar 不会遮挡使用了他们;
情况2 当UIView , UITableView 不使用约束时,UINavigationBar 会遮挡使用了他们;
当你采用情况2时,为了避免view被遮挡,一般都会采用以下方法:
// 防止UITableview被UITabbarView遮挡
if (([[[UIDevicecurrentDevice]
systemVersion]doubleValue] >=
7.0)) {
self.edgesForExtendedLayout =UIRectEdgeNone;
self.automaticallyAdjustsScrollViewInsets =NO;
}
self.tableView.autoresizingMask =UIViewAutoresizingFlexibleHeight
|UIViewAutoresizingFlexibleWidth;
但是,我们需要注意self.edgesForExtendedLayout = UIRectEdgeNone; 和 self.edgesForExtendedLayout = UIRectEdgeAll
的区别,不管UINavigationBar是否透明,或者任何颜色,效果都将如下:
采用self.edgesForExtendedLayout = UIRectEdgeNone; 效果图如下,即,UINavigationBar不遮挡:
采用self.edgesForExtendedLayout = UIRectEdgeAll; 效果图如下,即,UINavigationBar遮挡:
情况1 当UIView , UITableView使用约束时,UINavigationBar 不会遮挡使用了他们;
情况2 当UIView , UITableView 不使用约束时,UINavigationBar 会遮挡使用了他们;
当你采用情况2时,为了避免view被遮挡,一般都会采用以下方法:
// 防止UITableview被UITabbarView遮挡
if (([[[UIDevicecurrentDevice]
systemVersion]doubleValue] >=
7.0)) {
self.edgesForExtendedLayout =UIRectEdgeNone;
self.automaticallyAdjustsScrollViewInsets =NO;
}
self.tableView.autoresizingMask =UIViewAutoresizingFlexibleHeight
|UIViewAutoresizingFlexibleWidth;
但是,我们需要注意self.edgesForExtendedLayout = UIRectEdgeNone; 和 self.edgesForExtendedLayout = UIRectEdgeAll
的区别,不管UINavigationBar是否透明,或者任何颜色,效果都将如下:
采用self.edgesForExtendedLayout = UIRectEdgeNone; 效果图如下,即,UINavigationBar不遮挡:
采用self.edgesForExtendedLayout = UIRectEdgeAll; 效果图如下,即,UINavigationBar遮挡:
相关文章推荐
- Codeforces 392C Yet Another Number Sequence 题解&代码
- easyui datagrid 跨页选择
- android Ui 卡顿检测
- kbuild是个什么鬼?
- SQL Server 2016 查询存储(Query Store)查询语句
- SQL Server 2016 查询存储(Query Store)查询语句
- 详释(常见UITextView输入之字数限制)之一固定长度
- 使用UIAlertController报错
- easyui控件与Activex控件遮挡问题
- UI基础__UICollectionView__瀑布流
- Android官方文档翻译-guide-储存选择
- workqueue 用法实例
- 优化RequireJS项目(合并与压缩)
- image叠加(UIGraphicsBeginImageContext)
- ExtJs技巧 FormPanel.getForm().getValues()的键名问题.
- android.util.AndroidRuntimeException: requestFeature() must be called before adding content 错误解决方法
- UIScrollView控件的代理
- Longest Consecutive Sequence
- select change事件给其它元素赋值,本select的value或tex
- QuartzD虚线及虚线的用处