[英]Why is Child Table View not sizing properly?
首先,请不要提出建议我将 TableViewController 作为子视图删除的“聪明”解决方案。 谢谢你。
概括
我正在以编程方式添加一个 Tableviewcontroller,作为一个固定大小为 216 的视图的子项。我一直在搞乱约束......并且使用 View Hierachy Debugger,我看到 TableView 的高度总是 852......这基本上是屏幕的全尺寸。 如何将 TableView 正确调整为其包含视图的大小?
下面是一堆我试图用来约束事物的代码......无济于事。 谢谢你。
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var xyz: UIView!
override func viewDidLoad() {
super.viewDidLoad()
let child = UITableViewController()
xyz.addSubview(child.view)
self.addChild(child)
child.didMove(toParent: self)
//child.view.translatesAutoresizingMaskIntoConstraints = false
let safeArea = xyz.layoutMarginsGuide
var height = child.view.heightAnchor.constraint(equalToConstant: 292)
height = height.constraintWithMultiplier(2000)
height.isActive = true
child.view.topAnchor.constraint(equalTo: safeArea.topAnchor).isActive = true
child.view.bottomAnchor.constraint(equalTo: safeArea.bottomAnchor).isActive = true
child.view.leftAnchor.constraint(equalTo: safeArea.leftAnchor).isActive = true
child.view.rightAnchor.constraint(equalTo: safeArea.rightAnchor).isActive = true
}
}
extension NSLayoutConstraint {
func constraintWithMultiplier(_ multiplier: CGFloat) -> NSLayoutConstraint {
return NSLayoutConstraint(item: self.firstItem!, attribute: self.firstAttribute, relatedBy: self.relation, toItem: self.secondItem, attribute: self.secondAttribute, multiplier: multiplier, constant: self.constant)
}
}
取消注释这行代码
child.view.translatesAutoresizingMaskIntoConstraints = false
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.