gpt4 book ai didi

ios - UITableViewController 布局不起作用

转载 作者:行者123 更新时间:2023-11-30 12:19:16 24 4
gpt4 key购买 nike

我试图将 UITableView 定位到应用程序的左侧,整个高度,但仅占用可用宽度的 1/3,代码如下:

class ViewController: UIViewController {
var tableController: UITableViewController?

override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.

tableController = UITableViewController();

addChildViewController(tableController!)
self.view.addSubview(tableController!.view)
tableController!.didMove(toParentViewController: self)
}

override func viewDidLayoutSubviews() {
tableController!.view.backgroundColor = UIColor.red

tableController!.view.frame = CGRect(
x: 0,
y: 0,
width: view.bounds.width / 3,
height: view.bounds.height);

//tableController!.view.frame = view.bounds
}
}

它看起来像这样:

broken layout

我不明白为什么这些线没有正确水平对齐,而且看起来像是在右侧被切割的。

如果我通过取消注释最后一行来给 View Controller 完整的宽度/高度,它看起来会更好:

working layout

最佳答案

问题 1

您是否正确限制了父 View 中的 TableView?您可以设置比例约束。请参阅有关该主题的帖子:AutoLayout to keep view sizes proportional

旁注

对于 iOS 11,将 View 限制为布局指南将在 IDE 中触发警告。考虑使用自动调整大小蒙版将 UI 组件嵌入到另一个占据父 View 整个宽度的 View 中。请参阅此处的主题:Xcode Auto Layout Resizing Issue

关于ios - UITableViewController 布局不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44999019/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com