Swift,Tableview应该从下面开始

问题描述 投票:-4回答:3

从下面开始查看时启动tableview。

我有一个用于标题的一维数组和一个用于cellen的二维数组。

从下面调用viewDidLoad()时是否可以启动tableview?所以你必须向上滚动。

非常感谢

我的标题代码:

 override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
    let headerView = Bundle.main.loadNibNamed("TableViewCell1", owner: self, options: nil)?.first as! TableViewCell1
    headerView.date.text = aHeaderDate[section]
    headerView.backgroundColor = UIColor.white
    return headerView
}

我的手机代码:

 override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

    let cell2 = Bundle.main.loadNibNamed("TableViewCell2", owner: self, options: nil)?.last as! TableViewCell2

    let sectionTime = dimArrayTime[indexPath.section][indexPath.row]

    cell2.time.text = sectionTime
    return cell2

}

例如,现在是:enter image description here

它应该是这样的:

enter image description here

ios swift xcode uitableview
3个回答
0
投票

在我看来,实现这一目标的最简单方法是转换表视图及其单元格:

镜像表视图:

tableView.transform = CGAffineTransform(scaleX: 1, y: -1)

viewForHeaderInSectioncellForRowAt反映了这些观点:

headerView.transform = CGAffineTransform(scaleX: 1, y: -1)

cell.transform = CGAffineTransform(scaleX: 1, y: -1)

0
投票

你可以试试下面的代码

[tableView reloadData];
int lastRowNumber = [tableView numberOfRowsInSection:0] - 1;
NSIndexPath* ip = [NSIndexPath indexPathForRow:lastRowNumber inSection:0];
[tableView scrollToRowAtIndexPath:ip atScrollPosition:UITableViewScrollPositionTop animated:NO];

0
投票

您可以使用以下源代码

dispatch_after(time, dispatch_get_main_queue(), {
  tableView.scrollToRowAtIndexPath(NSIndexPath(forRow: model.dataArray.count - 1, inSection: 0), atScrollPosition: .Bottom, animated: true)
})
© www.soinside.com 2019 - 2024. All rights reserved.