如何保持Tableview滚动以及如何在Swift3中删除prototypecell和tableview之间的空白空间

时间:2017-05-02 06:49:03

标签: ios swift uitableview swift3

我对Swift3中的tableview有两个问题

这里我的tableview没有滚动,甚至我在UiView属性检查器中取消选中adjust scroll view insets,然后单元格上方的空白空间也没有删除。

这就是为什么我的tableview不滚动甚至启用滚动 如何滚动tableview在我的代码中有任何事情要做

请帮我解决两个问题

我编写了如下代码

import UIKit

class movieViewController: UIViewController,UITableViewDataSource,UITableViewDelegate {

    @IBOutlet weak var tableviewLayout: UITableView!

    var itemsArray = ["One","Two","Three","Four","Five","six","Seven","Eight","Nine","Ten"]

    override func viewDidLoad() {
        super.viewDidLoad()
        tableviewLayout.isScrollEnabled = true
        scrollToLastRow()
    }

    override func viewWillAppear(_ animated: Bool) {
        self.tableviewLayout.contentInset = UIEdgeInsetsMake(-35, 0, 0, 0);
      //only this is working   
      //but when i uncheck the adjust scroll view insets why it is not working
    }

    func numberOfSections(in tableView: UITableView) -> Int {
        return 1
    }

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return itemsArray.count
    }

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {  
        let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath)
        cell.textLabel!.text = itemsArray[indexPath.row]
        return cell
    }

    func scrollToLastRow() {
        let indexPathrow = NSIndexPath(row: itemsArray.count - 1, section: 0)
        self.tableviewLayout.scrollToRow(at: indexPathrow as IndexPath , at: UITableViewScrollPosition.bottom, animated: true)
    }

}

1 个答案:

答案 0 :(得分:0)

scrollToLastRow()无法在viewDidLoad方法中使用。你应该在viewDidAppear方法中使用它,它会正常工作。