ios - 标签栏项目不会显示

标签 ios swift uitabbar uitabbaritem

目前我有 1 个选项卡 View Controller ,有 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.
    }

}

最佳答案

您可以在 CAPSPageMenu 库中非常轻松地使用标签栏 Controller CAPSPageMenu

只需在库中添加以下代码

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

关于ios - 标签栏项目不会显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41008760/

相关文章:

ios - popViewControllerAnimated 之后 UINavigationBar 下的 UITableView

ios - iOS swift 3 中的回调

ios - UITabBar 内的单个 UIViewController 自动旋转

ios - 选项卡栏项目仅检测较长的单击

ios - 对象初始化风格

ios - 迁移后 Realm 不工作

ios - 显然没有配置 Firebase

ios - 如何用 TableView 单元格填充屏幕? swift

ios - 不能在不可变值数组上使用可变成员是一个只获取属性 swift 3

iphone - 在 uitabbar 应用程序 iOS iPad 中更改当前 View