web-dev-qa-db-fra.com

Swift Ajouter une vue de pied de page dans UITableView

C'est en fait une table et une table, et je voulais ajouter un bouton Soumettre après la fin de la cellule, mais comment puis-je le faire?

J'ai essayé de le faire au storyboard en ajoutant le bouton manuellement, mais cela ne fonctionne pas, le bouton ne s'affiche pas. Y a-t-il un autre moyen de le faire?

Je voulais faire comme la capture d'écran ci-dessous.

18
mimi93

Utilisation de StoryBoard

Dans TableView, vous pouvez faire glisser UIView. Il sera défini comme FooterView si vous avez plus de 0 cellules prototypes. Une fois que vous avez fait glisser, vous pouvez le voir dans la hiérarchie d'une table sous la forme de sous-vue. Maintenant, vous pouvez ajouter un bouton d'étiquette à cette vue, vous pouvez également définir IBAction dans le fichier de classe ViewController. 

Par programme

Suivez les 3 étapes

  1. Créer une vue personnalisée avec un bouton,

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. Ajoutez cette vue dans la vue Table Footer.

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

myTblView.tableFooterView = customView
  1. vous pouvez faire une action sur ce bouton dans la même classe.

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

Ajoutez UILabel en tant que UITableView.Footer dans 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