簡體   English   中英

NavigationItem titleView在左側出現一段時間然后移動到Center

[英]NavigationItem titleView is coming at left side for some time then move to Center

我正在將自定義視圖設置為導航的titleView。 當viewcontroller出現時,它的標題視圖會在左側出現一段時間然后移動到中心,這可能是錯的? 我使用以下代碼

    let itemImgs: [UIImage] = [UIImage(named: "MORE_Location")!, UIImage(named: "MORE_Department")!, UIImage(named: "By_Teams")!, UIImage(named: "MORE_Status")!]
    self.navigationController?.navigationBar.isTranslucent = false
    self.navigationController?.navigationBar.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.white]

    menuView = BTNavigationDropdownMenu(navigationController: self.navigationController, containerView: self.navigationController!.view, title: AppMessage.EDEmployeePeople, items: items as [AnyObject], itemImgs: itemImgs)
    menuView.cellHeight = 60
    menuView.cellBackgroundColor = UIColor.red
    menuView.cellSelectionColor = UIColor.clear
    menuView.cellSeparatorColor = UIColor.clear
    menuView.shouldKeepSelectedCellColor = false
    menuView.cellTextLabelColor = UIColor.white
    menuView.shouldChangeTitleText = false
    menuView.cellTextLabelFont = UIFont(name: "Helvetica", size: 17)

    if appNeedsAutoResize
    {
        menuView.cellTextLabelFont = UIUtils.getFontForApproprieteField(.subHeadline).font
    }

    menuView.cellTextLabelAlignment = .left // .Center // .Right // .Left
    menuView.arrowPadding = 15
    menuView.animationDuration = 0.5
    menuView.maskBackgroundColor = UIColor.clear
    menuView.maskBackgroundOpacity = 0.3

    menuView.didSelectItemAtIndexHandler = {(indexPath: Int) -> () in

        print("Did select item at index: \(indexPath)")

        if indexPath == 3
        {
            let byStatusViewController = ByStatusViewController(nibName: "ByStatusViewController", bundle: nil)
            //UIUtils.pushViewWhenHideBottom(self, anotherVC: byStatusViewController)
            self.navigationController?.pushViewController(byStatusViewController, animated: true)
        }
        else
        {
            let dropVC = DepartmentViewController(nibName: "DepartmentViewController", bundle: nil)
            switch indexPath
            {
            case 0:
                dropVC.employeeGroupInfo = EmployeeGroupInfo.locationInfo
                break
            case 1:
                dropVC.employeeGroupInfo = EmployeeGroupInfo.departmentInfo
                break
            default:
                dropVC.employeeGroupInfo = EmployeeGroupInfo.teamInfo
                break
            }

           // UIUtils.pushViewWhenHideBottom(self, anotherVC: dropVC)
          self.navigationController?.pushViewController(dropVC, animated: true)
        }
    }

    self.navigationItem.titleView = menuView
}

嘗試將自動調整遮罩的約束添加到菜單視圖以使視圖居中。

例如

menuView.autoresizingMask = [.flexibleLeftMargin, .flexibleRightMargin, .flexibleTopMargin, .flexibleBottomMargin]

我有這個問題,並改變我的功能,自定義我的navigationItem從viewWillAppear()viewDidLoad()解決

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM