我当前的问题是尝试为不同的iOS屏幕尺寸调整有限数量的单元格[3]。目前,我的原型单元格的大小为600x300,可以选择任意大小的x,并且非常适合iPhone6。但是,当我尝试使用其他任何屏幕尺寸时,单元格要么太大,要么必须滚动[ iPhone 6]或尺寸不够大[iPhone 6 +,iPad等]
单元格中都有一个UIImageView,并且可以正确调整其宽度,但不能正确调整其高度。
我只是将一些样机照片放在表格单元格中,以使自己对我的目标有所了解。我希望它不必滚动到我认为您可以在TableViewController中实现以下行的地方:
tableView.scrollEnabled = false
我最终在@ schmidt9和@VinodVishwanath的帖子的帮助下弄清楚了这一点。为了正确地计算您希望内容进入的屏幕的大小,您必须减去导航栏和状态栏的空间(时间,电池等)。以下几行可以执行此操作:
要查找导航栏的大小,请执行以下操作:
self.navigationController!.navigationBar.frame.size.height
要查找包括导航栏和状态菜单在内的总屏幕尺寸,请执行以下操作:
UIScreen.mainScreen().fixedCoordinateSpace.bounds.height
在所有设备上,状态栏始终为20,因此您可以简单地将其减去。您最终将获得以下代码:
let screenHeight = UIScreen.mainScreen().fixedCoordinateSpace.bounds.height - self.navigationController!.navigationBar.frame.size.height - 20
self.tableView.rowHeight = screenHeight / 3
将其更多地用数学方程式表示:总屏幕-导航栏-20(来自状态栏)=总工作空间
希望对您有所帮助,请发表评论以获取进一步说明。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句