我有一个为iPhone 4设计的应用程序。这个应用程序有一个工具栏,它是在界面生成器中拖放到屏幕底部的。在模拟器的iPhone 5“设备”上测试时,工具栏不会自动移到屏幕底部。
我的问题是--有没有什么技巧或技巧,可以让所有的UITables“伸展”来填充所有新的可用空间,并且无论它连接到哪种类型的iPhone,工具栏都会移到底部?这将是痛苦的,以编程的方式完成这一点-即找出我是哪种类型的iPhone,然后以编程的方式重新定位所有的ui。如果这确实是必须的,那么是否应该将任何新的iPhone应用程序设计为4英寸视网膜,然后以编程方式缩小所有内容以适应iPhone 4大小,或者是更好地设计为3.5英寸,然后拉伸和下推工具栏,以防它是4英寸屏幕的iPhone 5。
感谢您的意见..
发布于 2012-11-15 02:35:44
如果您只使用iOS 6,最简单的方法是使用自动布局并在界面生成器中添加约束。约束将描述工具栏的底边应等于superview的底边。您不必专门为单个设备编写代码。为了让UITableView拉伸来填充所有可用的空间,我再次建议使用 UIScrollView (而不是UITableView,它位于滚动视图内部)上的约束来描述这种行为,例如,滚动视图的上边缘应该等于superview的上边缘,左边缘应该等于superview的左边缘,下边缘应该等于UIToolbar的顶部(在IB中,一个间距约束指定UIToolbar和UIScrollView之间的间距应该等于0),右边缘应该等于superview的边缘。
如果不能使用约束,可以使用struts和springs系统指定此行为,该系统利用视图上的autoresizingMask属性指定UITableView的parent-UIScrollView具有灵活的宽度和高度,而UIToolbar具有固定的高度和灵活的。您可以通过设置UIScrollView和UIToolbar各自的frame属性来手动定位它们,这些属性描述了左上边缘的x,y坐标以及视图的宽度和高度。
https://stackoverflow.com/questions/13384924
复制相似问题