更改表格视图单元格高度仅适用于iPad
问题描述:
我想知道如何去解决这个问题......我只想为iPad尺寸更改表格视图单元格高度。当我尝试使用Size Classes进行更改时,它会为每个设备更改它,而不仅仅是我所在的设备。是否必须创建一个全新的故事板,或者是否有通过代码或Auto Layout实现的方法2个不同的桌面单元格高度 - 一个用于iPhone和一个用于iPad。我也在xcode中使用swift更改表格视图单元格高度仅适用于iPad
谢谢!
答
您可以使用userInterfaceIdiom
找出如果应用程序在iPad上运行
switch UIDevice.currentDevice().userInterfaceIdiom {
case .Phone:
// It's an iPhone
case .Pad:
// It's an iPad
case .Unspecified:
// Something undefined
}
或者,您也可以使用屏幕UITraitCollection
。
let deviceIdiom = UIScreen.mainScreen().traitCollection.userInterfaceIdiom
switch (deviceIdiom) {
case .Pad:
// It's an iPad
case .Phone:
// It's an iPhone
case .TV:
// It's a AppleTV
default:
// Who knows
}
答
考虑以尺寸等级而不是设备为基础。你可以通过故事板或代码来做到这一点。
如果高度由约束常量设置,则可以选择该约束,然后转到大小检查器。常数的左边是灰色+。点击该按钮可以为不同大小的类别设置不同的值。
答
if UIScreen.main.bounds.size.width < 768 { //IPHONE
tableView.rowHeight = 25;
} else { //IPAD
tableView.rowHeight = 35;
}