我已创建使用UIView100高度和宽度100与50的半径将其在4英寸的设置完成橙色圆。 当我移动到4.7英寸或更高时,圆圈变形。 我该怎么做才能让圆圈在大型设备上显示时不会变形?
1
A
回答
4
所以我猜你使用Xcode的“重置为建议的约束”选项,如:
当你这样做时,Xcode猜测你想要什么约束。不幸的是,在你的情况下,它猜测错了。它确实创建了你想要的居中约束,但它确实创建了你想要的宽度和高度约束。相反,它创造的前沿和顶边的约束,比如:
所以,当您加载场景更大的设备上,以满足这些约束,自动布局必须做出视图大小,像这样的:
要解决这个问题,你需要删除边缘约束:
度并添加宽度和高度的限制:
所以你在子视图这个样子的最终约束:
+0
我已经看到一个问题的最佳答案,保持良好的工作人员。 – pete800
1
我打赌你使用了一个固定的圆角半径来制作一个圆形的UIView(这对于1:1的宽高比也有一个限制)。只要做到这一点,角落的半径就可以在视图的正确尺寸可以知道的地方进行计算。 viewDidLayoutSubviews是一个很好的地方,因为它会照顾其他大小,如屏幕旋转。
override func viewDidLayoutSubviews() {
self.circleView.layer.cornerRadius = self.circleView.frame.size.width/2 // Assumes width == height because of 1:1 aspect ratio constraint
}
或者不要让您的视图的大小取决于屏幕的宽度或高度(即除去约束两侧,中心它,并给它一个固定的宽度和高度)
相关问题
- 1. 如何设置字体的大小取决于屏幕尺寸
- 2. 点击后有小屏幕尺寸一个功能和屏幕尺寸大了
- 3. 图片徽标应保持相对于设备屏幕尺寸的大小
- 4. 基于Jquery的屏幕尺寸更改Div的大小
- 5. 根据屏幕尺寸更改小部件的大小?
- 6. 根据屏幕尺寸缩小字体大小/边距大小?
- 7. 将图像设置为相对于屏幕尺寸的大小?
- 8. 我应该如何为小屏幕和大屏幕手机定义尺寸?
- 9. 是否有任何屏幕尺寸大于GL_MAX_TEXTURE_SIZE的Android设备?
- 10. 当屏幕尺寸发生变化时,调整固定对象的大小
- 11. 基于设备屏幕大小的Android调整大小
- 12. 取决于屏幕尺寸
- 13. 调整视频的大小取决于屏幕尺寸少用CSS
- 14. xcode的屏幕尺寸是固定的 - 不会改变每个设备
- 15. 有不同大小的2个图像取决于屏幕大小fancybox
- 16. iphone应用尺寸小于屏幕
- 17. React Native - 如何设置独立查看大小屏幕大小?
- 18. jquery change colorbox弹出尺寸随着屏幕大小的变化
- 19. 调整相对于屏幕尺寸的元素大小
- 20. 根据屏幕尺寸设置UICollectionViewFlowLayout的项目大小
- 21. 为较小尺寸的屏幕调整图像大小
- 22. 保持GWT小部件大小的比例与屏幕尺寸
- 23. 调整大小的UIScrollView 3.5和4英寸的屏幕尺寸
- 24. 更改价格取决于尺寸和显示大小
- 25. iOS调整TextView大小以适应不同尺寸的屏幕
- 26. android设备屏幕尺寸支持大屏幕
- 27. 自定义布局是谁的大小是屏幕尺寸
- 28. 设置相应的设备屏幕尺寸的Textview尺寸
- 29. Android - 所有屏幕尺寸的按钮文本大小
- 30. 是否有屏幕尺寸关系的字体大小? iPhone
您是如何创建该圆的?以编程方式(通过代码)或仅在您的故事板/ xib文件中?是否有你使用的AutoLayout约束? –
我在右侧的属性检查器中输入了宽度和高度。然后我编程添加了半径。是的,我点击了自动布局按钮,这就是我最终的结果。圆圈位于正确的位置,但放置在较大的设备上时会发生弯曲。 – pete800
编辑您的问题以显示该圆圈UIView上的布局约束的屏幕截图。我怀疑你对UIView的底部有一个固定的约束,导致它被拉长,并且你可能会在Xcode控制台中看到一个“破坏的约束”警告,因为它不能同时执行底部约束和高度约束。 –