iPhone 4 到 iPhone 5 - 工具栏不会移动到底部



我有一个专为iPhone 4设计的应用程序。此应用程序有一个工具栏,它是在界面生成器中拖放到屏幕底部的。在模拟器的iPhone 5"设备"上测试时,工具栏不会自动转到屏幕底部。

我的问题是,是否有某种技巧或技术,可以让所有UITables"拉伸"以填充所有新的可用空间,并且无论连接到哪种类型的iPhone,工具栏都会移到底部?通过编程来实现这一点会很痛苦——也就是说,弄清楚我是什么样的iPhone,然后通过编程重新定位所有用户界面。如果这真的是必须的,那么任何新的iPhone应用程序都应该为4英寸的视网膜设计,然后以编程方式缩小iPhone 4的大小,还是最好为3.5英寸设计,然后拉伸和向下推工具栏,以防是4英寸屏幕的iPhone 5。

感谢您的意见。。

如果您只使用iOS6,最简单的方法是使用Auto Layout并在Interface Builder中添加约束。约束将描述工具栏的底边应该等于超级视图的底边。您不必为单个设备专门编写代码。为了让UITableView拉伸以填充所有可用空间,我再次建议使用UIScrollView(而不是UITableView,它位于滚动视图中)上的约束来描述这种行为,例如滚动视图的上边缘应等于超视图的顶部,左边缘应等于超级视图的左侧,底部边缘应等于UIToolbar的顶部(在IB中,指定UIToolbar和UIScrollView之间的间距应等于0的间距约束),右侧边缘应等于超级视图的边缘。

如果不能使用约束,则使用支柱和弹簧系统指定此行为,该系统在视图上使用autoresizingMask属性,该属性指定UITableView的父级UIScrollView具有灵活的宽度和高度,UIToolbar具有固定的高度和灵活的。您可以手动定位UIScrollView和UIToolbar,方法是设置它们各自的框架属性,该属性描述左上角的x、y坐标以及视图的宽度和高度。

  • iOS版视图编程指南-在运行时调整视图的大小和位置
  • Cocoa Auto Layout指南:关于Cocoa Auto布局