能否在基于Storyboard的应用中为iPhone和iPad(甚至是Catalyst)使用不同的UITableView样式?

问题描述 投票:0回答:1

我想模仿iOS设置应用中相同的UITableView风格。所以我有一个主视图控制器,它是一个UITableViewController,表视图风格为 "Grouped"。还有一个细节视图控制器,在iPhone上是一个UITableViewController,表格视图风格为 "Grouped",在iPad上是 "Grouped Inset"。

在Storyboards中实现这种行为的最好方法是什么。我似乎无法实现这个功能。

如果我必须用variety来实现,那么由于所有的设备类型,我将不得不维护大约46个不同的特征。

我试着重写表格视图控制器的init函数。但是,如果它是基于Storyboard的,那么覆盖init(style: UITableView.Style)函数永远不会被调用。

我试着以编程方式设置样式,但它是一个只读属性。

有什么办法可以在1个storyboard中做到这一点吗?

iPhone settingsiPhone generaliPad

ios swift uitableview uistoryboard
1个回答
0
投票

你可以检查设备类型,然后根据这个进行修改。

print(UIDevice.current.userInterfaceIdiom)
if UIDevice.current.userInterfaceIdiom == .phone {
   print("running on iPhone")
}

我想你不能在故事板上做这些事情。

© www.soinside.com 2019 - 2024. All rights reserved.