iOS导航栏自定义titleView子视图显示不正确

问题描述 投票:0回答:1

iOS导航栏自定义titleView子视图在父viewController从另一个视图控制器推送时未正确显示。

根视图中的“自定义标题”视图enter image description here

从其他视图控制器中推送后,视图控制器中的自定义标题视图

enter image description here

我为自定义TitleView尝试的代码

   let height = CGFloat(500)
    self.navigationController?.navigationBar.frame = CGRect(x: 0, y: 50, width: view.frame.width, height: height)
    self.navigationController?.navigationBar.backgroundColor = .blue
    let navView = UIImageView()
    navView.frame = CGRect(x: 0, y: 0, width: view.frame.width-100, height: height)
    navView.backgroundColor = .red
    navigationItem.titleView = navView

综述

        let oneLabel = UILabel()
        oneLabel.frame = CGRect(x: 50, y: navView.frame.size.height-13, width: 26, height: 26)
        oneLabel.text = "1"
        oneLabel.textColor = .white
        oneLabel.backgroundColor = UIColor(hexString: Constants.greenColor)
        oneLabel.textAlignment = .center
        navView.addSubview(oneLabel)

        oneLabel.clipsToBounds = true
        oneLabel.layer.cornerRadius = 13
ios swift uinavigationbar uinavigationitem
1个回答
0
投票

标签的总高度为26,而您从图像视图的高度(仅显示标签的一半)仅减少了13。使标签的y值类似于y:navView.frame.size.height-30

© www.soinside.com 2019 - 2024. All rights reserved.