为了账号安全,请及时绑定邮箱和手机立即绑定

带有UIImage标题的导航栏

带有UIImage标题的导航栏

iOS
慕森王 2019-11-29 10:13:55
我想通过使用徽标图像(而不是纯文本)作为导航栏的标题来自定义应用程序的外观。当我使用此代码let logo = UIImage(named: "logo.png")self.navigationItem.titleView = logo;我收到错误“ UIImage无法转换为UIView”。如何正确执行此操作?
查看完整描述

3 回答

?
慕容森

TA贡献1853条经验 获得超18个赞

放在里面 UIImageView


let logo = UIImage(named: "logo.png")

let imageView = UIImageView(image:logo)

self.navigationItem.titleView = imageView


查看完整回答
反对 回复 2019-11-29
?
繁华开满天机

TA贡献1816条经验 获得超4个赞

我用这个 它适用于iOS 8


override func viewDidLoad() {

    super.viewDidLoad()

    // Do any additional setup after loading the view.

    let image = UIImage(named: "YOURIMAGE")

    navigationItem.titleView = UIImageView(image: image)

}

这是一个示例,您如何使用CGRect做到这一点。


override func viewDidLoad() {

    super.viewDidLoad()

    // Do any additional setup after loading the view.

    let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 38, height: 38))

    imageView.contentMode = .ScaleAspectFit

    let image = UIImage(named: "YOURIMAGE")

    imageView.image = image

    navigationItem.titleView = imageView

}

希望这会有所帮助。


查看完整回答
反对 回复 2019-11-29
?
万千封印

TA贡献1891条经验 获得超3个赞

对于Swift 4,您可以调整imageView的大小


 let logoContainer = UIView(frame: CGRect(x: 0, y: 0, width: 270, height: 30))


 let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 270, height: 30))

 imageView.contentMode = .scaleAspectFit

 let image = UIImage(named: "your_image")

 imageView.image = image

 logoContainer.addSubview(imageView)

 navigationItem.titleView = logoContainer


查看完整回答
反对 回复 2019-11-29
  • 3 回答
  • 0 关注
  • 497 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信