it-swarm.com.ru

Swift Add Footer View в UITableView

На самом деле это ячейка tableview и tableview, и я хотел добавить кнопку Submit после конца ячейки tableview, но как мне это сделать?

Я пытался сделать это на раскадровке добавить кнопку вручную, но она не работает, кнопка не отображается. Есть ли другой способ сделать это?

Я хотел сделать как скриншот ниже.

18
mimi93

Использование StoryBoard

В TableView Вы можете перетащить UIView, он будет установлен как FooterView, если у вас более 0 прототипов ячеек. После перетаскивания вы можете видеть его в иерархии табличных представлений как subview. Теперь вы можете добавить кнопку метки в это представление, вы также можете установить IBAction в файл класса ViewController. 

Программно

Выполните 3 шага

  1. Сделайте один пользовательский вид кнопкой,

Swift 3.X / Swift 4.X

let customView = UIView(frame: CGRect(x: 0, y: 0, width: 200, height: 50))
customView.backgroundColor = UIColor.red
let button = UIButton(frame: CGRect(x: 0, y: 0, width: 100, height: 50))
button.setTitle("Submit", for: .normal)
button.addTarget(self, action: #selector(buttonAction), for: .touchUpInside)
customView.addSubview(button)

Swift 2.X

let customView = UIView(frame: CGRectMake(0, 0, 200, 50))
customView.backgroundColor = UIColor.redColor()
let button = UIButton(frame: CGRect(x: 0, y: 0, width: 100, height: 50))
button.setTitle("Submit", forState: .Normal)
button.addTarget(self, action: #selector(buttonAction), forControlEvents: .TouchUpInside)
customView.addSubview(button)
  1. Добавьте это представление в представлении нижнего колонтитула таблицы.

Swift 2.X / Swift 3.X / Swift 4.X

myTblView.tableFooterView = customView
  1. вы можете выполнять действия с этой кнопкой в ​​том же классе.

Swift 3.X / Swift 4.X

@objc func buttonAction(_ sender: UIButton!) {
    print("Button tapped")
}

Swift 2.X

func buttonAction(sender: UIButton!) {
  print("Button tapped")
}
50
Ujesh
func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
    let footerView = UIView(frame: CGRect(x: 0, y: 0, width: tableView.frame.size.width, height: 50))
    return footerView
}

func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
    return 50
}
6
K.Gowri Manohari

Добавьте UILabel как UITableView.Footer в Swift

    let footerView:UILabel = UILabel(frame: CGRect(x: 0, y: 0, width:320 , height: 500))
    footerView.text = "add description ro Timevc in order user will see the result of lesson time"
    footerView.numberOfLines = 0;
    footerView.sizeToFit()
    tableView.tableFooterView = footerView
    tableView.contentInset = (UIEdgeInsetsMake(0, 8, -footerView.frame.size.height, 8))
0
Bary Levy