title: add button in footer tableview in swift
body: <p>I want to add a button in a table footer. I have written this code but the button does not work.</p>
  
  <pre><code>func tableView(tableView: UITableView, viewForFooterInSection section: Int) -&gt; 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) -&gt; CGFloat {
      return 50.0
  }
  </code></pre>
  
  <p>Thanks!</p>
  
  <p>edit my class tableView</p>
  
  <p>import UIKit</p>
  
  <p>import GoogleMobileAds</p>
  
  <p>class MenuViewController: UIViewController, UITableViewDataSource, UITableViewDelegate, SetingTableViewControllerDelegate, UINavigationControllerDelegate {</p>
  
  <pre><code>@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
  
  }
  </code></pre>
  
  <p>func SetingTableViewControllerDidCancel(controller : SetingTableViewController)</p>
  
  <pre><code>{
  
      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) -&gt; Int {
  
      return data.count
  
  }
  
  
  
  func tableView(tableView: UITableView,
  
      cellForRowAtIndexPath indexPath: NSIndexPath) -&gt; 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")
  </code></pre>
  
  <p>}</p>
  
  <pre><code>func tableView(tableView: UITableView, heightForHeaderInSection section: Int) -&gt; CGFloat {
  
      var height : CGFloat
  
      height = 50
  
      return height
  
  }
  
  
  
   func tableView(tableView: UITableView, viewForFooterInSection section: Int) -&gt; 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) -&gt; CGFloat {
  
      return 50.0
  
  }
  
  
  
  func navigationController(navigationController: UINavigationController,
  
      willShowViewController viewController: UIViewController,
  
      animated: Bool) {
  
      if viewController === self {
  
      NSUserDefaults.standardUserDefaults().setInteger(
  
      -1, forKey: "kategoriIdx")
  
      }
  
  }
  </code></pre>
  
  <p>}</p>