更改表格视图单元格高度仅适用于 iPad
Posted
技术标签:
【中文标题】更改表格视图单元格高度仅适用于 iPad【英文标题】:Change Table View Cell height for iPad only 【发布时间】:2016-03-07 22:01:03 【问题描述】:我想知道如何解决这个问题...我只想为 iPad 尺寸更改表格视图单元格的高度。当我尝试使用 Size Classes 更改它时,它会为每台设备更改它,而不仅仅是我所在的设备。我是否必须创建一个全新的故事板,或者是否有办法通过代码或通过自动布局来拥有2 种不同的 tableview 单元格高度 - 一种用于 iPhone,一种用于 iPad。我也在 xcode 中使用 swift
谢谢!
【问题讨论】:
【参考方案1】:您可以使用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
【讨论】:
【参考方案2】:考虑基于尺寸等级而不是设备。您可以通过情节提要或在代码中做到这一点。
如果高度由约束常量设置,您可以选择该约束,然后转到尺寸检查器。常数的左边是一个灰色的+。单击该按钮可以为不同的尺寸类别设置不同的值。
【讨论】:
【参考方案3】:if UIScreen.main.bounds.size.width < 768 //IPHONE
tableView.rowHeight = 25;
else //IPAD
tableView.rowHeight = 35;
【讨论】:
【参考方案4】:在 Swift 5 中,语法略有变化
switch UIDevice.current.userInterfaceIdiom
case .phone:
// iPhone
case .pad:
// iPad
case .unspecified:
// Something else
default:
break
【讨论】:
以上是关于更改表格视图单元格高度仅适用于 iPad的主要内容,如果未能解决你的问题,请参考以下文章