Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Prevent footer overlapping tableViewCell in UITableView - Swift

I have this table view which works how i want it to however i have a problem where the footer overlap the cells in the table view as seen inthis image

How can i prevent this? This is my code for the footer

   func tableView(tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {

    let footerView = UIView(frame: CGRectMake(0, 0, tableView.frame.size.width, 40))
    //    self.myTableView.tableFooterView = footerView;
    let sectionString = Array(foodArray.keys)[section]


      for value in caloriesArray[sectionString]! {
        calories += value
       }
       totalCalories += calories

      print(calories)
      print(totalCalories)
      let label = UILabel(frame: CGRectMake(footerView.frame.origin.x - 15, footerView.frame.origin.y, footerView.frame.size.width, 20))

       label.textAlignment = NSTextAlignment.Right

       label.text = "Total Calories: \(calories) "

      footerView.addSubview(label)
       calories = 0
  return footerView
  }

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

  return 20.0
}

@IBAction func addFoodTapped(sender: AnyObject) {


}


func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {


    let sectionString = Array(foodArray.keys)[indexPath.section]

    foodArray[sectionString]?.removeAtIndex(indexPath.row)
    caloriesArray[sectionString]?.removeAtIndex(indexPath.row)
    print(foodArray)
   viewDidAppear(true)
  }
like image 829
user3423164 Avatar asked Apr 03 '16 20:04

user3423164


3 Answers

You can do that, Just make Style Grouped as shown below: here

like image 118
Ali Alaoi Avatar answered Oct 08 '22 23:10

Ali Alaoi


You can do that, Just make Style Grouped as shown below: here

like image 6
Ali A. Jalil Avatar answered Nov 03 '22 16:11

Ali A. Jalil


Just add some padding to the bottom of the content so that it doesn't overlap with the footer:

self.tableView.contentInset = UIEdgeInsetsMake(0, 0, FOOTER_HEIGHT, 0)
like image 2
Micah Stairs Avatar answered Nov 03 '22 18:11

Micah Stairs