ios xib 初始化高度_iOS xib自定义,高度减少64
释放双眼,带上耳机,听听看~!
解决在导航栏不透明的情况下,自定义xib view高度被压缩64的问题
在使用xib自定义view的时候,个人习惯性的直接使用xib中的约束,所以自然而然的要打开Autolayout。以前在使用的时候没有发现什么问题,最近项目中使用的时候突然发现在导航栏透明的情况下,出现实际的frame比设置的frame高度缩小64的问题,然后上网查找各种博客,最后差点被五花八门的写法带跑偏了,遂简单记录一下正确的解决方式。
- (instancetype)initWithFrame:(CGRect)frame index:(NSInteger)index {
self = [super initWithFrame:frame];
if (self) {
self = [[[NSBundle mainBundle] loadNibNamed:NSStringFromClass([self class]) owner:self options:nil] objectAtIndex:index];
}
self.frame = frame;
return self;
}
正常情况下在控制器的view中添加XibView实例view的时候是没有问题的,但是当我需要设置导航栏不透明的时候,需要用到这句代码:
self.navigationController.navigationBar.translucent = NO;
这时,问题出现,问题如下:(仅在控制器view是UIView类型的时候才会出现,当xib view添加到滚动视图上时不会有下面的问题)
1、添加的view高度会缩减64
2、同时控制台会打印约束冲突的情况
注意:(亲测automaticallyAdjustsScrollViewInsets,self.extendedLayoutIncludesOpaqueBars,edgesForExtendedLayout这些设置都解决不了这个问题)
解决:关闭Autoresize SubViews即可,控制器中的Autoresize SubViews不勾选,或者在viewdidload方法中添加下面代码,也能起到相同的效果
//最好用这个方法,如果在xib中关闭Autoresize SubViews的话,每个子视图也都要关闭Autoresize SubViews,比较麻烦
self.view.autoresizesSubviews = NO;
问题的分析:
实造成xib view高度缩小64像素以及会打印约束冲突的最根本原因是,我们在Xcode9上创建xib或者storyboard文件时,会默认打开Autoresize SubViews,所以在设置导航栏透明的时候,因为自动重新布局之后导致高度缩小,原来的xib中的约束无效。
既然问题查清楚了,那就对症下药,关闭Autoresize SubViews即可。
ios xib 初始化高度_iOS xib自定义,高度减少64相关推荐
- ios设置中性黑体_ios 解决自定义字体无法显示问题
现在的项目中都会使用自定义字体,而iOS9其中的一项新特性就是用新的「苹方」字体替代了已经使用了几年的「华文黑体」,所以现在记录一下iOS如何导入并在项目中使用苹方字体的使用. 1. 下载一个 .tf ...
- ios设置中性黑体_iOS - 使用自定义字体-苹方字体
苹方提供了六个字重,font-family 定义如下: 苹方-简 常规体 font-family: PingFangSC-Regular, sans-serif; 苹方-简 极细体 font-fami ...
- ios xib 初始化高度_iOS图片伸缩技巧
纵观移动市场,一款移动app,要想长期在移动市场立足,最起码要包含以下几个要素:实用的功能.极强的用户体验.华丽简洁的外观.华丽外观的背后,少不了美工的辛苦设计,但如果开发人员不懂得怎么合理展示这些设 ...
- ios xib 四等分_ios Xib的几种用法[转]
大多数Ios开发者都喜欢运用xib以及约束来布局,这样省去了大量初始化代码,但是xib的使用也是存在不少差异的: 一.xib的几个重要属性 xib的文件名 File's owner xib中的视图cl ...
- iOS开发UI篇—使用xib自定义UItableviewcell实现一个简单的团购应用界面布局
iOS开发UI篇-使用xib自定义UItableviewcell实现一个简单的团购应用界面布局 iOS开发UI篇-使用xib自定义UItableviewcell实现一个简单的团购应用界面布局 一.项目 ...
- ios xib 四等分_iOS XIB总结(一)
一.XIB文件使用简介 1.添加约束 Horizontally in Container(与容器平行) Align Center X to superview, " |" ...
- iOS即时通讯输入框随字数自适应高度
代码地址如下: http://www.demodashi.com/demo/13210.html 前言 本人最近在研究socket与聊天界面的UI,在写聊天界面UI的时候是模仿微信的界面其中的文字输入 ...
- iOS 修改文字大小以适配lable高度宽度
iOS 修改文字大小以适配lable高度宽度 在开发中,我们也许会遇到根据文字多少动态修改lable的高度,但也有lable高度和宽度是固定的,这个时候如果想让文字显示完全,就必须修改文字字体大小.动 ...
- android gridvie item,Android开发―解决自定义GridView高度第一个item高度异常问题
问题描述: 在写之前,先把问题的图贴出来,问题如下图,GridView的第一个item的自定义高度显示不正常(再次加载之后又正常),不是预设的高度: 解决方法: 首先需要申明,这个GridView 的 ...
最新文章
- python使用什么注释语句和运算-python 闯关之路一(语法基础)
- Python-Flask实现基金自选网站
- python格式化输出类型_Python print 格式化输出
- 【QT】QT从零入门教程(四):菜单栏、工具栏、状态栏
- linux用户管理的命令及手动添加用户
- YOLOv5:道路损伤检测
- 一些出的不错的Java面试题(一)
- java api大全网站
- 2017第121届中国进出口商品交易会(广交会)-第三期会刊(参展商名录)
- wago edz 下载_用电子枪制造的WeakAuras Wago.io桥
- python实现图片切割及拼图游戏
- Excel查找、替换与定位
- C语言程序设计笔记(浙大翁恺版) 第九周:指针
- 张建宁老师主讲:计算机网络基础(笔记)
- 【CSS3】一文搞懂盒子模型
- 【便签1】-win10显示/隐藏任务栏时间
- virtualbox导入虚拟机(ubuntu)
- java开局降落伞落地拿枪打_绝地求生:1月最新的跳伞技巧,一个开局捡空投,一个落地快4秒...
- 泛微e9隐藏明细表_泛微E-COLOGY显示模板函数公式整理
- 风景园林计算机辅助设计教案,风景园林计算机辅助设计.doc