Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 自定义navigationItem.titleView未设置_Ios_Swift - Fatal编程技术网

Ios 自定义navigationItem.titleView未设置

Ios 自定义navigationItem.titleView未设置,ios,swift,Ios,Swift,我在设置self.navigationItem.titleView时遇到问题,请有人帮我找出我的错误 import Foundation class CustomNavigationController: UINavigationController { override func viewDidLoad() { let logo = UIImage(named: "browse_back") var hexColor = 0x21BBD4 as UIn

我在设置self.navigationItem.titleView时遇到问题,请有人帮我找出我的错误

import Foundation

class CustomNavigationController: UINavigationController
{
    override func viewDidLoad() {
        let logo = UIImage(named: "browse_back")
        var hexColor = 0x21BBD4 as UInt
        self.navigationBar.barTintColor = GeneralHelper.UIColorFromRGB(hexColor)
        self.navigationItem.titleView = UIImageView(image: logo)
    }
}
下面是我将标题视图设置为图像的代码

当我运行应用程序时,导航栏的颜色将更改为正确的颜色,但标题视图图像不会显示

我已经测试过,以确保图像确实存在。 谢谢

管理UINavigationController对象使用导航项 要填充导航栏的最上面两个视图控制器的 心满意足

资料来源:


您必须设置控制器的navigationItem的标题视图,该控制器是自定义导航控制器管理的导航堆栈中最顶层的控制器。

对于使用UILabel作为标题视图的控制器

override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)
    navigationItem.titleView?.sizeToFit()
}

希望这能奏效

啊,这意味着aI不会在导航控制器中设置它,而是导航控制器堆栈中的第一个控制器?编辑:工作了。甜甜的谢谢你的帮助,我会把它标记为答案。是的,没错。您可以在推送到堆栈上的控制器中进行设置。还可以尝试为您添加的UIView的框架指定大小。