2016-12-07 115 views
0

目前,我有1个视图控制器,具有3个菜单:标签栏项目将不会显示

enter image description here

但是运行的时候,底部菜单/图象都像被板缺或不完美展现像这样:

enter image description here

enter image description here

应该有3个菜单。

代码:

import UIKit 
class TabBarReimbursementViewController: UITabBarController{ 

    var loadTable: Bool = false 

    override func viewWillAppear(animated: Bool) { 
     self.viewControllers![selectedIndex].viewWillAppear(true) 
    } 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     //  self.tabBar.barTintColor = UIColor.redColor() 
     self.tabBar.tintColor = UIColor.blackColor() 

     let addButton = UIBarButtonItem(barButtonSystemItem: .Add, target: self, action: #selector(TabBarReimbursementViewController.buttonClicked(_:))) 

     navigationItem.rightBarButtonItem = addButton 

     //  UITabBarItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.whiteColor() ], forState: .Normal) 

     UITabBarItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.blackColor() ], forState: .Selected) 

     let historySelected: UIImage! = UIImage(named: "history2.png")?.imageWithRenderingMode(.AlwaysOriginal) 
     let approvalSelected: UIImage! = UIImage(named: "approve2.png")?.imageWithRenderingMode(.AlwaysOriginal) 
     let listSelected: UIImage! = UIImage(named: "listlist2.png")?.imageWithRenderingMode(.AlwaysOriginal) 

     (tabBar.items![1]).selectedImage = historySelected 
     (tabBar.items![0]).selectedImage = approvalSelected 
     (tabBar.items![2]).selectedImage = listSelected 

     self.selectedViewController = self.viewControllers![1] 
     self.findHamburguerViewController()?.gestureEnabled = false 
    } 

    func buttonClicked(sender: UIBarButtonItem) { 

     let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil) 

     let nextViewController = storyBoard.instantiateViewControllerWithIdentifier("MyRequestForm") as! myRequestForm 
     nextViewController.formType = "New" 
     self.navigationController!.pushViewController(nextViewController, animated: true) 

    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 

} 
+0

你的意思是在标签栏控制器或在菜单约束? – Borom1r

+0

请检查我的照片,我加了一些。我想我没有使用约束 – Borom1r

+0

标签栏只能用于导航控制器。您不能直接将TabBar控制器连接到另一个视图控制器。您必须在导航控制器中嵌入子视图控制器,然后重试。 – KAR

回答

0

的事情是,你在做什么是标签栏控制器的标签栏项目并不怎么工作的。每个子视图控制器(其中有三个在你的故事板屏幕截图中)有它自己的tabBarItem,这就是标签栏被填充的方式。

2

您CAPSPageMenu库中,你可以使用很容易CAPSPageMenu

标签栏控制器刚刚在库,添加以下代码

_menuScrollView.translatesAutoresizingMaskIntoConstraints = NO; 
    _menuScrollView.frame = CGRectMake(0.0, self.view.frame.size.width- _menuHeight,self.view.frame.size.width, _menuHeight);