点击标签栏时将表格视图滚动到顶部
Posted
技术标签:
【中文标题】点击标签栏时将表格视图滚动到顶部【英文标题】:Scroll tableview to the top when tapping tab bar 【发布时间】:2017-04-13 21:07:02 【问题描述】:选择标签栏项目时,我需要一直向上滚动表格视图。 我试过了,但它不起作用。
func tabBarController(_ tabBarController: UITabBarController, didSelect viewController: UIViewController)
let tabBarIndex = tabBarController.selectedIndex
if tabBarIndex == 0
let indexPath = NSIndexPath(row: 0, section: 0)
MyViewController().tableView.scrollToRow(at: indexPath as IndexPath, at: .top, animated: true)
方法被调用,但是tableView没有滚动到顶部。
【问题讨论】:
【参考方案1】:问题是您正在创建一个新的MyViewController
实例,而不是访问屏幕上的实例。你会想要访问已经创建的 viewController,幸运的是这个委托方法把它交给了你。
改变这一行
MyViewController().tableView.scrollToRow(at: indexPath as IndexPath, at: .top, animated: true)
到
let myViewController = viewController as? MyViewController
myViewController.tableView.scrollToRow(at: indexPath as IndexPath, at: .top, animated: true)
【讨论】:
【参考方案2】:self.tableviewObject.scrollToRowAtIndexPath(indexPath, atScrollPosition: .Top, animated: true)
【讨论】:
以上是关于点击标签栏时将表格视图滚动到顶部的主要内容,如果未能解决你的问题,请参考以下文章
再次点击当前标签栏时如何在 UITableView 中滚动到顶部?
单击表格单元格时将 UIViewController 滚动到顶部
通过点击状态栏滚动到顶部 TableView 不起作用(有许多子视图)SWIFT