ajouter un bouton dans le footer tableview dans swift

Je veux ajouter un bouton dans un pied de tableau. J'ai écrit ce code, mais le bouton ne fonctionne pas.

func tableView(tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
    var footerView : UIView?
    footerView = UIView(frame: CGRectMake(0, 0, tableView.frame.size.width, 50))
    footerView?.backgroundColor = UIColor.blackColor()

    let dunamicButton = UIButton.buttonWithType(UIButtonType.System) as! UIButton
    dunamicButton.backgroundColor = UIColor.greenColor()
    dunamicButton.setTitle("Button", forState: UIControlState.Normal)
    dunamicButton.frame = CGRectMake(0, 0, 100, 50)
    dunamicButton.addTarget(self, action: "buttonTouched:", forControlEvents: UIControlEvents.TouchUpInside)

    footerView?.addSubview(dunamicButton)

    return footerView
}

func buttonTouched(sender:UIButton!){
println("diklik")
}

func tableView(tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
    return 50.0
}

Merci!

modifier ma classe tableView

importation UIKit

importation GoogleMobileAds

classe MenuViewController: UIViewController, UITableViewDataSource, UITableViewDelegate, SetingTableViewControllerDelegate, UINavigationControllerDelegate {

@IBOutlet weak var tabelView: UITableView!

 var data = ["BINATANG","BUAH","MAKANAN","SAYURAN","TUBUH","RUMAH","SEKOLAH","WARNA","ALAM","KENDARAAN","MAINAN"]



override func viewDidLoad() {

    super.viewDidLoad()

        self.tabelView.rowHeight = 100.0

}

func SetingTableViewControllerDidCancel(contrôleur : SetingTableViewController)

{
dismissViewControllerAnimated(true, completion: nil)
}
func SetingTableViewControllerDidDone(controller : SetingTableViewController){
dismissViewControllerAnimated(true, completion: nil)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
//Dispose of any resources that can be recreated.

}
func tableView(tableView: UITableView,
numberOfRowsInSection section: Int) -> Int {
return data.count
}
func tableView(tableView: UITableView,
cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = self.tabelView.dequeueReusableCellWithIdentifier("cell")
as! KategoriCell
cell.imgCell.image = UIImage(named: data1[indexPath.row]+"2")
cell.labelCell.text = data[indexPath.row]
return cell
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "playId"{
let indexPath = tabelView.indexPathForSelectedRow()
let item = data[indexPath!.row]
let detailViewController = segue.destinationViewController as! PlayViewController
detailViewController.kategoriKe = indexPath!.row
}
else if segue.identifier == "settingId"{
let navigationController = segue.destinationViewController
as! UINavigationController
let controller = navigationController.topViewController
as! SetingTableViewController
controller.delegate = self
}
}
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
var selectedCell:UITableViewCell = tableView.cellForRowAtIndexPath(indexPath)!
}
func tableView(tableView: UITableView, didDeselectRowAtIndexPath indexPath: NSIndexPath) {
NSUserDefaults.standardUserDefaults().setInteger(indexPath.row, forKey: "kategoriIdx")

}

func tableView(tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
var height : CGFloat
height = 50
return height
}
func tableView(tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
var footerView : UIView?
footerView = UIView(frame: CGRectMake(0, 0, tableView.frame.size.width, 50))
footerView?.backgroundColor = UIColor.blackColor()
let dunamicButton = UIButton.buttonWithType(UIButtonType.System) as! UIButton
dunamicButton.backgroundColor = UIColor.greenColor()
dunamicButton.setTitle("Button", forState: UIControlState.Normal)
dunamicButton.frame = CGRectMake(0, 0, 100, 50)
dunamicButton.addTarget(self, action: "buttonTouched:", forControlEvents: UIControlEvents.TouchUpInside)
footerView?.addSubview(dunamicButton)
return footerView
}
func buttonTouched(sender:UIButton!){
println("diklik")
}
func tableView(tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
return 50.0
}
func navigationController(navigationController: UINavigationController,
willShowViewController viewController: UIViewController,
animated: Bool) {
if viewController === self {
NSUserDefaults.standardUserDefaults().setInteger(
-1, forKey: "kategoriIdx")
}
}

}

  • Aucun résultat ou pas?
  • bouton fonctionne pas....pas de responsables.
  • Essayez cette - dunamicButton.addTarget(auto, action: Sélecteur("buttonTouched:"), forControlEvents: UIControlEvents.TouchUpInside)
InformationsquelleAutor Zahed Ri | 2015-07-04