gpt4 book ai didi

ios - 使用设备旋转调整 tableView 的大小

转载 作者:行者123 更新时间:2023-11-28 13:32:44 24 4
gpt4 key购买 nike

我正在尝试制作一个填满我的屏幕的 tableView。在发布时,无论表格是水平的还是垂直的,它总是看起来不错:

Normal table View

但是一旦你旋转设备,tableView 就会显示它后面的屏幕:

Abnormal Table View with Rotation

我首先尝试使用此代码段的 SO 推荐:

tableView.autoresizingMask = UIViewAutoresizingFlexibleWidth | 
UIViewAutoresizingFlexibleHeight

但是我得到了错误:使用未解析的标识符:UIViewAutoresizingFlexibleHeight使用未解析的标识符:UIViewAutoresizingFlexibleHeight

所以我尝试重新加载旋转框架:

didRotateFromInterfaceOrientation(fromInterfaceOrientation: UIInterfaceOrientation)

但这似乎也不起作用。请注意,无论是横向还是纵向 View 都可以很好地加载,但一旦翻转 View 就会出错。

这是我目前在 viewDidLoad 中使用的代码:

  super.viewDidLoad()
tableView = UITableView(frame: view.bounds, style: .plain)
tableView.backgroundColor = UIColor.blue

let cellNib = UINib(nibName: "PostTableViewCell", bundle: nil)
tableView.register(cellNib, forCellReuseIdentifier: "postCell")
view.addSubview(tableView)
tableView.register(LoadingCell.self, forCellReuseIdentifier: "loadingCell")
var layoutGuide:UILayoutGuide!

layoutGuide = view.safeAreaLayoutGuide

tableView.leadingAnchor.constraint(equalTo: layoutGuide.leadingAnchor).isActive = true
tableView.topAnchor.constraint(equalTo: layoutGuide.topAnchor).isActive = true
tableView.bottomAnchor.constraint(equalTo: layoutGuide.bottomAnchor).isActive = true
tableView.trailingAnchor.constraint(equalTo: layoutGuide.leadingAnchor).isActive = true
tableView.estimatedRowHeight = UITableViewAutomaticDimension
tableView.frame = self.view.bounds
tableView.delegate = self
tableView.dataSource = self
tableView.tableFooterView = UIView()
tableView.reloadData()

这是我的 Storyboard的图片以供引用:

enter image description here

感谢您的帮助。

最佳答案

你只需要

tableView.translatesAutoresizingMaskIntoConstraints  = false
NSLayoutConstraint.activate([
tableView.leadingAnchor.constraint(equalTo: layoutGuide.leadingAnchor),
tableView.topAnchor.constraint(equalTo: layoutGuide.topAnchor),
tableView.bottomAnchor.constraint(equalTo: layoutGuide.bottomAnchor),
tableView.trailingAnchor.constraint(equalTo: layoutGuide.trailingAnchor)
])

和评论

tableView.frame = self.view.bounds

关于ios - 使用设备旋转调整 tableView 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57115435/

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