如何在Swift iOS中使用图像作为导航栏标题

5

我有些困扰。 我想在导航栏标题中使用图像,但是我遇到了一个错误,即“UIImage”不是“NSString”的子类型。 请查看以下代码:

class Dashboard: UIViewController {

override func viewDidLoad() {
    super.viewDidLoad()
    self.navigationItem.title = UIImage(named: "logo.png")        
    // Do any additional setup after loading the view.
}

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

}

有人能提出建议吗?谢谢!

你不能将UIImage类型的对象分配给NSString。navigationItem的标题只能包含文本数据(NSString)。 - Mick MacCallum
3个回答

9

设置navigationItem的titleView

var image = UIImage(named: "logo.png")
self.navigationItem.titleView = UIImageView(image: image)

1

对我有用

        let image : UIImage = UIImage(named: "headerLogo")
    let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 25, height: 25))
    imageView.contentMode = .scaleAspectFit
    imageView.image = image
    navigationItem.titleView = imageView

0

Swift 5+,iOS 13+

navigationItem.titleView = UIImageView(image: UIImage(named: "id_logo"))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接