Swift,Tableview 应该从下面开始
Posted
技术标签:
【中文标题】Swift,Tableview 应该从下面开始【英文标题】:Swift, Tableview should start below 【发布时间】:2018-02-14 18:19:12 【问题描述】:从下面启动视图时启动tableview。
我有一个用于标题的一维数组和一个用于单元格的二维数组。
从下面调用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
例如,现在是:
应该是这样的:
【问题讨论】:
你能解释一下你想做什么吗?显示您拥有的数组类型,并分享您想要使用当前可用数组绘制的屏幕截图。 【参考方案1】:在我看来,最简单的方法是转换表格视图及其单元格:
镜像表格视图:
tableView.transform = CGAffineTransform(scaleX: 1, y: -1)
在viewForHeaderInSection
和cellForRowAt
中也反映了这些观点:
headerView.transform = CGAffineTransform(scaleX: 1, y: -1)
cell.transform = CGAffineTransform(scaleX: 1, y: -1)
【讨论】:
这是个好主意。但是我的单元格总是出现在标题上方。 感谢您的建议。我通过简单地用 array.reversed () 函数翻转我的数组,然后在我的 tableview 中显示它们来解决了这个问题。【参考方案2】:你能试试下面的代码吗
[tableView reloadData];
int lastRowNumber = [tableView numberOfRowsInSection:0] - 1;
NSIndexPath* ip = [NSIndexPath indexPathForRow:lastRowNumber inSection:0];
[tableView scrollToRowAtIndexPath:ip atScrollPosition:UITableViewScrollPositionTop animated:NO];
【讨论】:
【参考方案3】:您可以使用以下源代码
dispatch_after(time, dispatch_get_main_queue(),
tableView.scrollToRowAtIndexPath(NSIndexPath(forRow: model.dataArray.count - 1, inSection: 0), atScrollPosition: .Bottom, animated: true)
)
【讨论】:
以上是关于Swift,Tableview 应该从下面开始的主要内容,如果未能解决你的问题,请参考以下文章
Swift 3. 使用 Core Data 隐藏一个空的 tableView
tableView visibleCells swift上缺少单元格
从对象显示 Tableview 的好方法 - iOS Swift
在 swift 中使用 tableview 和数组过滤器自动完成文本字段