title: Tableview not scrolling to bottom
body: <p>I'm new to swift and ios development in general. I'm displaying json in tableview.For some reasons,tableview is not scrolling to bottom(3 cells).
  Here is my code for the UITableView that the tableview resides:</p>
  
  <pre><code>class AllChaptersViewController: UIViewController,UITableViewDelegate,UITableViewDataSource {
  
  @IBOutlet weak var tableView: UITableView!
  var isLoadingTableView = true
  var chapters = [Chapter]()  //Chaper Array
  var chapter = [ChapterMO]()
  var imageURLs = [String]()
  var chaptersArray = [AnyObject]()
  var base = [AnyObject]()
  var uri =  ""
  var path = ""
  let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
  
  override func viewDidLoad() {
      super.viewDidLoad()
  
      Alamofire.request("https://appdata.omicronenergy.com/webindex/COMP-en.json").responseJSON { response in debugPrint(response)
          let result = response.result
          if let dict = result.value as? Dictionary&lt;String,AnyObject&gt;{
              if let arr = dict["data"] as! NSArray?{
                  self.chaptersArray = arr as [AnyObject]
                  self.tableView.reloadData()
              }
          }
      }
  
  
      Alamofire.request("https://appdata.omicronenergy.com/webindex/products-en.json").responseJSON {
          response in debugPrint(response)
          let result = response.result
          if let json = result.value as? Dictionary&lt;String,AnyObject&gt;{
              if let arr = json["data"] as! NSArray? {
                  let tmpJson = arr[0] as! [String:AnyObject]
                  self.uri = tmpJson["uri"] as! String
              }
          }
      }
  
      tableView.layoutMargins = .zero
      tableView.separatorInset = .zero
      tableView.contentInset = .zero
      self.automaticallyAdjustsScrollViewInsets = false
      tableView.tableFooterView = UIView()
      self.tableView.rowHeight = UITableViewAutomaticDimension
      self.tableView.reloadData()
  
      // Read qr code
  
      let qrCodeButton = UIBarButtonItem(image: UIImage(named:"qrCode"),
                                         style: .plain,
                                         target: self,
                                         action: #selector(AllChaptersViewController.readQrCode(_:)))
  
      let moreButton = UIBarButtonItem(image: UIImage(named:"more"),
                                       style: .plain,
                                       target: self,
                                       action: #selector(AllChaptersViewController.openDropDownMenu(_:)))
  
      self.navigationItem.rightBarButtonItems = [moreButton,qrCodeButton]
  
       }
  
  override var prefersStatusBarHidden: Bool{
      return true
  }
  
  func readQrCode(_ sender:UIBarButtonItem!) {
      print("working")
      let vc = self.storyboard?.instantiateViewController(withIdentifier: "QRCodeViewController")
      self.navigationController!.pushViewController(vc!, animated: true)
      print("")
  }
  
  func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -&gt; CGFloat {
      return UITableViewAutomaticDimension
  }
  
  func openDropDownMenu(_ sender:UIBarButtonItem!) {
      print("works too")
  }
  
  
  override func viewWillAppear(_ animated: Bool) {
      self.navigationItem.title = "COMPANO 100"
       self.tableView.layoutSubviews()
  }
  
  
  func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -&gt; Int {
      return chaptersArray.count
  }
  
  func getData(){
      do{
          chaptersArray = try context.fetch(ChapterMO.fetchRequest())
      }
      catch {
          print("Fetching failed")
      }
  }
  
  
  
  func numberOfSections(in tableView: UITableView) -&gt; Int {
      // #warning Incomplete implementation, return the number of sections
      return 1
  }
  
  
  
  func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -&gt; UITableViewCell {
      let cell:TableViewCell = tableView.dequeueReusableCell(withIdentifier: "chapterCell", for: indexPath) as! TableViewCell
      let object = chaptersArray[indexPath.row] as! NSDictionary
  
      let path = object.object(forKey: "path") as! String
      let iconUrl = "https://appdata.omicronenergy.com/chapter_icons/COMP0\(path).png"
  
      cell.icon.sd_setImage(with: URL(string:iconUrl))
      cell.layoutMargins = .zero
      let name = object.object(forKey: "name") as! String
      cell.chapterName?.text = name
      return cell
  }
  
  func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -&gt; CGFloat {
      return UITableViewAutomaticDimension
  }
  
  func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
      let path = chaptersArray[indexPath.row]["path"]
      let vc = self.storyboard?.instantiateViewController(withIdentifier: "ChapterViewController") as! ChapterViewController
      let baseURL = uri
      let title = chaptersArray[indexPath.row]["name"]
      vc.title = title as! String
      vc.baseURL = baseURL
      vc.path = path! as! String
      self.navigationController?.pushViewController(vc, animated: true)
  }
  </code></pre>
  
  <p>}</p>