ios - 为 UITabBarItem 设置操作

标签 ios swift xcode uitabbar uitabbaritem

如何为我的 UITabBarItem 设置操作?我可以以某种方式将它从 storyboard 连接到代码吗?或者以编程方式?如果可以的话怎么办?

我的层次结构是UITabBarController -> UINavigationController -> UITabBarItem

很抱歉问了这个新手问题,但我真的需要一个答案。我在网上找不到任何与此相关的信息。

使用 Swift 3 和 Xcode 8

谢谢!

我厌倦了曼诺普森的回答(不起作用):

class BarsViewController: UITableViewController,UISearchResultsUpdating,UISearchBarDelegate,UISearchDisplayDelegate,UITabBarControllerDelegate{

override func viewDidLoad() {
super.viewDidLoad()


self.tabBarController?.delegate = self

        }

func tabBarController(tabBarController: UITabBarController, didSelect viewController: UIViewController) {
            if viewController.tabBarItem.tag == 1 {
                self.tableView.setContentOffset(.zero, animated: true)
            }
        }
        }
                extension UITableView {
                func scrollToTop(animated: Bool) {
                    setContentOffset(CGPoint.zero, animated: animated)
                }
            }

silentBob 答案对我不起作用:

class BarsViewController: UITableViewController,UISearchResultsUpdating,UISearchBarDelegate,UISearchDisplayDelegate,UITabBarControllerDelegate{


    override func viewDidLoad() {
        super.viewDidLoad()


    self.tabBarController?.delegate = self
}

func tabBarController(tabBarController: UITabBarController, didSelect viewController: UIViewController) {
        if viewController.tabBarItem.tag == 1 {
            tableView.scrollToRowAtIndexPath(NSIndexPath(forRow: 0, inSection: 0), atScrollPosition: .Top, animated: true)
        }
    }

}

我也尝试了 Tushar Sharma 的答案,但效果不佳。

我想做的是,当您在 tableView 中向下滚动时,您将点击当前的 Tabbaritem,tableView 将像 intagram 一样滚动到顶部。

最佳答案

基本上你这样做:

1) 确保你的类确认到 UITabBarDelegate

2)在IB中为每个标签栏项目设置标签

3) 实现 didSelectItem 方法,如下所示:

 class yourclass: UIViewController, UITabBarDelegate {
        func tabBar(tabBar: UITabBar, didSelectItem item: UITabBarItem) {
           if(item.tag == 1) {
       //your code for tab item 1
    }
    else if(item.tag == 2) {
       //your code for tab item 2
    }
        }
    }

关于ios - 为 UITabBarItem 设置操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42681013/

相关文章:

ios - 架构 i386 Facebook SDK 的 undefined symbol

ios - Xcode iOS UIView with tap gesture allowing input on subviews

ios - Ionic v1 – Google map 最初不会在 iOS 中加载

iphone - 推送到另一个 View 后,如何让这个 ios 按钮在提要 View 中保持可见?

ios - 如何使用Swift初始化AVAudioPlayer

objective-c - 查询 Google 纬度/经度需要很长时间,使得 UIViewController 需要永远加载

ios - 单元格数据未显示在 UITableView 中?

ios - 显示 View Controller 会导致稍后出现问题

ios - 以编程方式使用自动布局约束在 UIView Swift 2.3 iOS10 中将 UIImageView 居中

ios - 使用单独的 `text` 无限地淡入和淡出标签