如何在swift 4中将表格视图控制器前面的按钮带到? [重复]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在swift 4中将表格视图控制器前面的按钮带到? [重复]相关的知识,希望对你有一定的参考价值。

这个问题在这里已有答案:

我有一个表视图控制器,唯一的方法是使用它所以请不要告诉我使用viewController而不是tableviewController这里是我的代码添加一个按钮,这个按钮显示在最后一个单元格但我想要的时候用户滚动表视图按钮位于屏幕底部而不移动

override func viewDidLoad() {
    super.viewDidLoad()


    let submitButton = UIButton(frame: CGRect(x: 5, y: view.frame.origin.y + view.frame.size.height, width: self.view.frame.width - 10 , height: 50))

    submitButton.backgroundColor = UIColor.init(red: 180/255, green: 40/255, blue: 56/255, alpha: 1.0)
    submitButton.setTitle("Submit", for: .normal)
    submitButton.titleLabel?.font = UIFont(name: "Arial", size: 15)
    submitButton.titleLabel?.textColor = .white
    submitButton.addTarget(self, action: #selector(submit), for: .touchUpInside)
    submitButton.layer.cornerRadius = 5
    view.addSubview(submitButton)
答案

如果适合您的场景,请尝试此方法:

var submitButton = UIButton()

override func viewDidLoad() {
    super.viewDidLoad()


    submitButton.frame = CGRect(x: 5, y: view.frame.origin.y + view.frame.size.height, width: self.view.frame.width - 10 , height: 50)

    submitButton.backgroundColor = UIColor.init(red: 180/255, green: 40/255, blue: 56/255, alpha: 1.0)
    submitButton.setTitle("Submit", for: .normal)
    submitButton.titleLabel?.font = UIFont(name: "Arial", size: 15)
    submitButton.titleLabel?.textColor = .white
    submitButton.addTarget(self, action: #selector(submit), for: .touchUpInside)
    submitButton.layer.cornerRadius = 5
    self.view.window?.addSubview(submitButton)
}

但在这种情况下,您必须从viewWillDisappear中的superview中删除该按钮:

override func viewWillDisappear(_ animated: Bool) {
    super.viewWillDisappear(animated)
    self. submitButton.removeFromSuperview()
}
另一答案

试试这个

将按钮声明为变量

   var submitButton:UIButton!

并在viewDidLoad中

    submitButton = UIButton(frame: CGRect(x: 5, y: UIScreen.main.bounds.size.height - 50 , width: UIScreen.main.bounds.size.width - 10 , height: 50))        
    submitButton.backgroundColor = UIColor.init(red: 180/255, green: 40/255, blue: 56/255, alpha: 1.0)
    submitButton.setTitle("Submit", for: .normal)
    submitButton.titleLabel?.font = UIFont(name: "Arial", size: 15)
    submitButton.titleLabel?.textColor = .white
    submitButton.addTarget(self, action: #selector(submit), for: .touchUpInside)
    submitButton.layer.cornerRadius = 5        
    self.view.addSubview(submitButton)

并实现此方法

 override func scrollViewDidScroll(_ scrollView: UIScrollView) {

  submitButton.frame = CGRect.init(x: submitButton.frame.origin.x, y:  UIScreen.main.bounds.size.height + scrollView.contentOffset.y - 50 , width: submitButton.frame.width, height: submitButton.frame.height)

}

以上是关于如何在swift 4中将表格视图控制器前面的按钮带到? [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iOS 的 swift 中将浮动操作按钮放在 tableView 中?

如何在 Swift 中将绘图保存到 tableview?

在 swift 4 中将数据解析为 vc 始终为零

在 Swift 中将自定义 UITableViewCell 共享到多个 UITableViewController

如何在swift ios中将多个图像添加到自定义表格视图单元格?

在表格视图的 swift 文件之间快速传递数组