添加按钮之后,不显示按钮

在tabBar中添加了一个空白控制器,外边覆盖了一个按钮.但是按钮添加之后不显示.后来发现应该把代码写在

viewDidLayoutSubviews方法里边,而不是viewDidLoad里边.

class MainViewController: UITabBarController {


    override func viewDidLoad() {

        super.viewDidLoad()


        addChildViewControllers()

    }


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

        tabBar.tintColor = UIColor.orangeColor()

        

        vc.title = title

        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")

    }


转载于:https://my.oschina.net/u/2418942/blog/534324

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值