释放双眼,带上耳机,听听看~!

解决在导航栏不透明的情况下,自定义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相关推荐

  1. ios设置中性黑体_ios 解决自定义字体无法显示问题

    现在的项目中都会使用自定义字体,而iOS9其中的一项新特性就是用新的「苹方」字体替代了已经使用了几年的「华文黑体」,所以现在记录一下iOS如何导入并在项目中使用苹方字体的使用. 1. 下载一个 .tf ...

  2. ios设置中性黑体_iOS - 使用自定义字体-苹方字体

    苹方提供了六个字重,font-family 定义如下: 苹方-简 常规体 font-family: PingFangSC-Regular, sans-serif; 苹方-简 极细体 font-fami ...

  3. ios xib 初始化高度_iOS图片伸缩技巧

    纵观移动市场,一款移动app,要想长期在移动市场立足,最起码要包含以下几个要素:实用的功能.极强的用户体验.华丽简洁的外观.华丽外观的背后,少不了美工的辛苦设计,但如果开发人员不懂得怎么合理展示这些设 ...

  4. ios xib 四等分_ios Xib的几种用法[转]

    大多数Ios开发者都喜欢运用xib以及约束来布局,这样省去了大量初始化代码,但是xib的使用也是存在不少差异的: 一.xib的几个重要属性 xib的文件名 File's owner xib中的视图cl ...

  5. iOS开发UI篇—使用xib自定义UItableviewcell实现一个简单的团购应用界面布局

    iOS开发UI篇-使用xib自定义UItableviewcell实现一个简单的团购应用界面布局 iOS开发UI篇-使用xib自定义UItableviewcell实现一个简单的团购应用界面布局 一.项目 ...

  6. ios xib 四等分_iOS XIB总结(一)

    一.XIB文件使用简介 1.添加约束 Horizontally in Container(与容器平行)   Align Center X to superview,   " |" ...

  7. iOS即时通讯输入框随字数自适应高度

    代码地址如下: http://www.demodashi.com/demo/13210.html 前言 本人最近在研究socket与聊天界面的UI,在写聊天界面UI的时候是模仿微信的界面其中的文字输入 ...

  8. iOS 修改文字大小以适配lable高度宽度

    iOS 修改文字大小以适配lable高度宽度 在开发中,我们也许会遇到根据文字多少动态修改lable的高度,但也有lable高度和宽度是固定的,这个时候如果想让文字显示完全,就必须修改文字字体大小.动 ...

  9. android gridvie item,Android开发―解决自定义GridView高度第一个item高度异常问题

    问题描述: 在写之前,先把问题的图贴出来,问题如下图,GridView的第一个item的自定义高度显示不正常(再次加载之后又正常),不是预设的高度: 解决方法: 首先需要申明,这个GridView 的 ...

最新文章

  1. python使用什么注释语句和运算-python 闯关之路一(语法基础)
  2. Python-Flask实现基金自选网站
  3. python格式化输出类型_Python print 格式化输出
  4. 【QT】QT从零入门教程(四):菜单栏、工具栏、状态栏
  5. linux用户管理的命令及手动添加用户
  6. YOLOv5:道路损伤检测
  7. 一些出的不错的Java面试题(一)
  8. java api大全网站
  9. 2017第121届中国进出口商品交易会(广交会)-第三期会刊(参展商名录)
  10. wago edz 下载_用电子枪制造的WeakAuras Wago.io桥
  11. python实现图片切割及拼图游戏
  12. Excel查找、替换与定位
  13. C语言程序设计笔记(浙大翁恺版) 第九周:指针
  14. 张建宁老师主讲:计算机网络基础(笔记)
  15. 【CSS3】一文搞懂盒子模型
  16. 【便签1】-win10显示/隐藏任务栏时间
  17. virtualbox导入虚拟机(ubuntu)
  18. java开局降落伞落地拿枪打_绝地求生:1月最新的跳伞技巧,一个开局捡空投,一个落地快4秒...
  19. 泛微e9隐藏明细表_泛微E-COLOGY显示模板函数公式整理
  20. 风景园林计算机辅助设计教案,风景园林计算机辅助设计.doc

热门文章

  1. 约瑟夫环问题(c语言)
  2. 学python心得体会1000字-浅谈我对python的学习感受
  3. LP3THW 练习、学习训练、个人小结 EX_2
  4. 融云 服务器获取消息,融云IM 获取好友添加消息
  5. python3爬虫知乎_Python3 爬虫实例(四) -- 登录知乎
  6. html时间倒计时----定时器
  7. [SDOI2010] 猪国杀
  8. 2020-02-26-如何学习近红外技术
  9. 实现历史搜索记录和搜索功能
  10. 完美解决google关闭历史栏搜索的问题