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
}
希望这会有所帮助 .
0
这在2015年9月对我有用 - 希望这可以帮助那里的人 .
// 1
var nav = self.navigationController?.navigationBar
// 2 set the style
nav?.barStyle = UIBarStyle.Black
nav?.tintColor = UIColor.yellowColor()
// 3
let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 40, height: 40))
imageView.contentMode = .ScaleAspectFit
// 4
let image = UIImage(named: "logo.png")
imageView.image = image
// 5
navigationItem.titleView = imageView
11 回答
把它放在
UIImageView
内这对我有用......试试吧
对于swift 4,您可以调整imageView大小
我已经为iOS 10和iOS 11写了这个,它对我有用:
我用这个 . 它适用于iOS 8
以下是一个如何使用CGRect实现的示例 .
希望这会有所帮助 .
这在2015年9月对我有用 - 希望这可以帮助那里的人 .
让我们试试看看
我在上面尝试了@Jack的答案,但是徽标确实出现了,但是图像占据了整个导航栏 . 我希望它适合 .
Swift 4, Xcode 9.2
1.为导航控制器,UIImage赋值 . 通过分割帧和图像大小来调整大小 .
viewDidLoad()
下添加功能关于图像资产的注意事项 . 在上传之前,我使用额外的边距调整徽标,而不是在边缘裁剪 .
最后结果:
如果您更喜欢使用自动布局,并希望导航栏中的永久固定图像不会在每个屏幕中生成动画,则此解决方案效果很好:
您可以使用自定义UINavigationItem,因此您只需要在Main.storyboard上将“Navigation Item”更改为YourCustomClass .
In Swift 3
适用于我的快速4(方形图像40x40)
如果您想要其他措施,请尝试
我希望它能为你服务 . 这个对我有用 .