gpt4 book ai didi

ios - 在 tableview 上添加一个 View

转载 作者:可可西里 更新时间:2023-11-01 00:36:36 24 4
gpt4 key购买 nike

我必须创建一个看起来像这样的屏幕。

enter image description here

我已经使用 UITableViewController 完成了它。我走那条路线而不是使用 UIViewControllerUIScrollView 的原因是,中间的 TableView 是静态的,只有 UITableViewControllers可以有静态 TableView 。不管怎样,我目前的结果是这样的。

enter image description here

表格的页眉 View 包含顶部的标签,页脚 View 包含 map View 。

我为两个按钮创建了一个单独的 UIView 子类,其中包含一个名为 ButtonView 的 nib。

import UIKit

class ButtonView: UIView {

@IBOutlet var view: UIView!
@IBOutlet weak var declineButton: UIButton!
@IBOutlet weak var acceptButton: UIButton!

override init(frame: CGRect) {
super.init(frame: frame)

NSBundle.mainBundle().loadNibNamed("ButtonView", owner: self, options: nil)
self.bounds = view.bounds
self.addSubview(self.view)
}

required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)

NSBundle.mainBundle().loadNibNamed("ButtonView", owner: self, options: nil)
self.addSubview(self.view)
}
}

我尝试将它添加到 TableView Controller 的 view,然后是 tableView,但两次它都被添加到 ScrollView 。我希望将这些按钮固定在底部。所以我将它们添加到 window

class TableViewController: UITableViewController {

var buttonView: ButtonView!

override func viewDidLoad() {
super.viewDidLoad()
tableView.contentInset = UIEdgeInsets(top: 0, left: 0, bottom: 35, right: 0)
}

override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()

buttonView = ButtonView(frame: CGRect(x: 0, y: view.frame.size.height - 35, width: view.frame.width, height: 35))
UIApplication.sharedApplication().keyWindow!.addSubview(buttonView)
}
}

但是正如您从上面的屏幕截图中看到的那样,按钮的宽度已关闭。他们没有正确调整大小以适合屏幕。我已经在 ButtonView 中设置了所有必要的自动布局约束。

enter image description here

如何让它们调整大小并正确适合屏幕?

最佳答案

我建议走另一条路。将您的 UITableviewController 放在普通 View Controller 的容器 View 中。它为您提供两全其美的体验。您的父 VC 可以拥有您想要的任何 View ,并且包含的​​ UITableviewController 为您管理您的静态 TableView 。

这里是一个示例项目的链接,正是这样做的:(在 Objective-C 中,但概念和布局是相同的。)

https://github.com/DuncanMC/test

编辑:

正如@Gordonium 在他的回答中提到的那样,在代码中添加 View 但不设置约束很少会产生您想要的结果。如果您在代码中添加 View 并且您正在使用 AutoLayout,那么您还需要添加一组约束来指定 View 的大小和间距。使用 IB 设置 View 及其约束通常更容易。

关于ios - 在 tableview 上添加一个 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37225670/

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