我有一個標籤欄有五個項目,我想添加一個功能,當用戶再次點擊標籤欄項目時滾動到頂部。將UITabBarControllerDelegate
添加到我想要觸發事件的視圖中,並且還創建了一個函數來確定所選標籤欄索引。Swift - 選擇標籤欄索引不觸發滾動到頂部
當我打開應用程序時,索引0是自動選擇的,並且工作完美。當我向下滾動並點擊標籤欄索引時,視圖自動滾動到頂部。當我轉到索引1並觸發滾動時,會出現問題。它以某種方式完全刪除我的第一個標籤欄項的自動滾動。
選擇沒有自動滾動的其他標籤欄項目根本不影響索引0。
主頁(索引0)
func tabBarController(_ tabBarController: UITabBarController, didSelect viewController: UIViewController) {
let tabBarIndex = tabBarController.selectedIndex
if tabBarIndex == 0 {
self.collectionView?.setContentOffset(CGPoint(x: 0, y: -10), animated: true)
}
}
用戶(索引1)
func tabBarController(_ tabBarController: UITabBarController, didSelect viewController: UIViewController) {
let tabBarIndex = tabBarController.selectedIndex
if tabBarIndex == 1 {
self.tableView?.setContentOffset(CGPoint(x: 0, y: 0), animated: true)
}
}
甲'UITabBarController'只能有一個代表。最後一個勝利。 – rmaddy
真的!那麼,如何將自動滾動添加到兩個不同的標籤欄項目呢? –