我开发了一个iPhone5的应用程序,我启用了使用自动布局。我已经将每个按钮的垂直空间40用于其另一个按钮。当我运行的iPhone4s这个应用程序的最后一个按钮不appeared.I.How降低垂直间距是在4s.enter图像描述这里运行使用自动布局,而4屏幕应用程序运行在3.5屏幕
回答
时,您需要使用的各个之间的间隔视图按钮。这样你就可以使用一个可变大小的空间,这取决于屏幕的高度。然后
事情是这样的......
@"V:|[_spacer1][_button1][_spacer2(==_spacer1)][_button2][_spacer3(==spacer1)][_button3]...[_lastSpacer(==spacer1)]|"
这将布局都与他们之间的间隔相等的按钮。但是之间的空间会根据屏幕的高度而改变。
感谢回复。有没有办法通过编码来减少垂直空间限制 – chandu
为什么?这样可以工作,而且更容易,因为你不需要计算任何东西。例如,数字40从哪里来?如果你不得不使用计算器或做数学,那么你使用AutoLayout是错误的。 – Fogmeister
N.B.您可以使间隔视图清晰,以便它们不可见。你只是用它们来布局。 – Fogmeister
如果你不想在代码中做到这一点,你必须在按钮之间添加一些隐藏的“间隔”视图,其中“等高”约束和没有明确的高度。它们将根据需要扩展/缩小,以正确放置按钮。
虽然你可以使用clear /隐藏UIView
对象作为间隔,正如其他人所描述的,这是没有必要的。您还可以通过编程方式创建约束条件,均匀分配这些约束条件,并合理使用提供给constraintWithItem
方法的multiplier
值。例如,如果您有一组UIButton
对象,则可以将它们垂直隔开:
[buttons enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
[self.view addConstraint:[NSLayoutConstraint constraintWithItem:obj
attribute:NSLayoutAttributeCenterY
relatedBy:NSLayoutRelationEqual
toItem:self.view
attribute:NSLayoutAttributeCenterY
multiplier:2.0 * (idx + 1.0)/([buttons count] + 1.0)
constant:0.0]];
}];
- 1. 3.5“ios应用程序屏幕弄乱了4”屏幕
- 2. iOS应用程序开始运行在4“屏幕像3.5”
- 3. 为3.5和4英寸iPhone屏幕自定义布局而不使用自动布局
- 4. 自动布局所需的3.5英寸+ 4英寸iPhone屏幕布局?
- 5. 在3.5“和4”屏幕上正确显示应用程序
- 6. ios通用应用程序只显示3.5英寸的屏幕,而不是4英寸的屏幕
- 7. 当屏幕锁定时自动运行应用程序
- 8. Android:布局“滑动”屏幕?
- 9. OpenGL屏幕布局
- 10. 应用程序崩溃时,在Android的小屏幕和大屏幕上运行
- 11. 双屏幕应用程序
- 12. 移动Web应用程序在屏幕关闭时运行?
- 13. 运行屏幕/背光的全屏Android应用程序关闭
- 14. 布局错过了3.5英寸屏幕iPhone 4
- 15. 拉伸应用程序的布局以适应屏幕尺寸
- 16. 在应用程序准备销售后编辑5.5屏幕,4.0屏幕,3.5屏幕和iPad屏幕的屏幕快照
- 17. 将适用于4英寸屏幕的iOS应用程序安装到3.5英寸屏幕
- 18. iPhone 3.5英寸屏幕--4英寸屏幕:
- 19. 摇动屏幕的应用程序
- 20. 屏幕不启动iphone应用程序
- 21. 4英寸屏幕上的自动布局
- 22. UIview布局不自动化iPhone视网膜4英寸屏幕
- 23. 如何使用自动布局(ios6 + ios7)的4“和3.5”iphone屏幕使用一个故事板?
- 24. 使用RecyclerView适配器更改运行时布局屏幕
- 25. Xamarin Studio iOS应用程序中的屏幕布局不正常
- 26. 用于大屏幕基金会4响应网格布局
- 27. Android - 全屏仅在启动屏幕不在应用程序中
- 28. iOS:使用自动布局缩放不同的屏幕尺寸
- 29. 屏幕铲运机应用
- 30. 准备应用程序在3.5“和4”没有自动布局
想出一组更好的不依赖于固定数字的约束。 –
您必须正确设置每个按钮的“约束”。 – Exploring
@DavidRönnqvist同意。或者,更准确地说,您需要不依赖于像素/点数量的约束。例如,使用固定的“乘数”(例如,超视图的中心Y的百分比)的centerY约束条件很好,因为无论屏幕高度如何,该约束都可以工作,但是您希望避免使用固定的“常量”值。 – Rob