我遇到了在界面构建器中设置了所有约束的问题,当我在故事板中切换屏幕尺寸时,一切似乎都很好.但是,当我实际在设备上运行项目或模拟时,顶部的UIimage会在“捕捉”到适合约束的大小之前被短暂拉伸.此外,似乎标签在短时间内消失,并在图像捕捉到大小后重新出现.发生“快照”后,一切都已就绪,没有任何问题.
在4英寸和3.5英寸显示器上进行测试时都会发生这种卡扣.我发现这很奇怪,因为我已经完美地为4英寸屏幕设计了UI.
有谁知道为什么会这样?
编辑
这是IB中约束的样子.
这可能是由其他调整引起的,例如在代码中将本地化字符串注入UILabel,这会导致标签具有更小或更大的内在内容大小,这反过来会影响基于约束的布局.
如果要在代码中调整UI,请确保它们在vIEwDIDLoad或vIEwWillAppear中发生:这样它们就会在视图的初始布局传递之前发生(以及视图的动画在屏幕上).
如果您仍然遇到问题,可以尝试在vIEwWillAppear结束时在视图控制器的视图上显式强制立即进行布局传递:通过执行以下 *** 作:
- (voID)vIEwWillAppear:(BOol)animated { [super vIEwWillAppear:animated]; [self.vIEw setNeedsLayout]; [self.vIEw layoutIfNeeded]; // forces an immediate layout pass}总结
以上是内存溢出为你收集整理的ios – Autolayout导致UI元素在运行时“捕捉”到位?全部内容,希望文章能够帮你解决ios – Autolayout导致UI元素在运行时“捕捉”到位?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)