繁体   English   中英

如何设置静态分组的TableView单元格的宽度

[英]How to set static grouped TableView cell's width

我是Xcode和Swift开发的新手,我有一个关于带有静态分组单元格的UITableViewController的问题(在iPad上)。 我想要一个自然的解决方案,使像元宽度不像整个屏幕那样大。 我已经试过了:

override func viewDidAppear(_ animated: Bool) {
        tableView.frame = CGRect(x: 175, y: 70, width: view.bounds.width-350, height: view.bounds.height)
}

问题是,这看起来确实很讨厌,并且顶部和底部的导航栏和标签栏显得有些棘手,但是由于将其设置为viewDidAppear ,因此有时无法正常工作,因此在使用向后滑动手势时(例如在“设置”中),视图仍然以全角出现一秒钟。

您知道解决此问题的其他方法吗? 也许有些自动布局的东西,我不知道,我已经尝试了所有我知道的东西...

任何帮助将不胜感激! 谢谢!

Xcode不允许在普通的ViewController中放置tableview分组...

正如您所说,自动布局可能是解决之道。 如果您使用的是Interface Builder,则可以在那里设置约束。 大量的信息可以帮助您解决这一问题。 这是一个不错的起点: https : //developer.apple.com/library/content/documentation/UserExperience/Conceptual/AutolayoutPG/WorkingwithConstraintsinInterfaceBuidler.html

您应该切换为使用常规UIViewController并手动添加UITableView作为根视图的子视图。 您还必须手动将视图控制器设置为表视图的委托和数据源。 然后,您可以将表格视图放置在任意位置。 不幸的是,您将无法使用静态单元格-但是从长远来看,动态设置数据往往是一个更好的选择。

实现您想要的并仍然使用UITableViewController的另一种方法是将其设置为子视图控制器,但这比较麻烦,并且在我的经验中往往会受到更多限制。

如果要像代码示例中一样手动设置框架,则应在viewDidLayoutSubviews方法内进行设置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM