添加按鈕以後,不顯示按鈕

在tabBar中添加了一個空白控制器,外邊覆蓋了一個按鈕.可是按鈕添加以後不顯示.後來發現應該把代碼寫在ide

viewDidLayoutSubviews方法裏邊,而不是viewDidLoad裏邊.spa

class MainViewController: UITabBarController {3d


    override func viewDidLoad() {orm

        super.viewDidLoad()get


        addChildViewControllers()it

    }io


    private func addChildViewController(vc: UIViewController, title: String, imageName: String) {class

        tabBar.tintColor = UIColor.orangeColor()cli

        

        vc.title = titlefile

        vc.tabBarItem.image = UIImage(named: imageName)

        

        let nav = UINavigationController(rootViewController: vc)

        

        addChildViewController(nav)

    }

    

    private func addChildViewControllers() {

        addChildViewController(HomeTableViewController(), title: "首頁", imageName: "")

        addChildViewController(MessageTableViewController(), title: "消息", imageName: "")

        addChildViewController(UIViewController())

        addChildViewController(DiscoverTableViewController(), title: "發現", imageName: "")

        addChildViewController(ProfileTableViewController(), title: "", imageName: "")

        

        

    }

    

    private lazy var composeButton: UIButton = {

        

        let btn = UIButton()

        btn.setImage(UIImage(named: "cmp_inf_select"), forState: UIControlState.Normal)

        btn.addTarget(self, action: "clickComposeButton", forControlEvents: UIControlEvents.TouchUpInside)

        self.tabBar.addSubview(btn)

        

        return btn

    }()


    override func viewDidLayoutSubviews() {

        super.viewDidLayoutSubviews()

        setUpComposeButton()

    }

    

    private func setUpComposeButton() {

        let w = self.tabBar.bounds.width / CGFloat(childViewControllers.count)

        let rect = CGRectMake(0, 0, w, self.tabBar.bounds.height)

        composeButton.frame = CGRectOffset(rect, 2 * w, 0)

    }

    

    func clickComposeButton() {

        print("clickComposeButton")

    }

相關文章
相關標籤/搜索