Swift 中作为导航栏标题的可点击图像

迅捷爱好者

我已经浏览了这里讨论的几个线程:

  1. 设置标题图片
  2. 使用按钮作为标题

但是,我试图将两者结合起来,即将可点击的图像(按钮)作为标题。

不幸的是,虽然下面的代码编译了图像,但当指定为按钮时,它不会显示。有什么建议么?

func addNavBarImage() {
    let navController = navigationController!

    let button =  UIButton(type: .custom)
    var image = UIImage(named: "textLogo")
    image = image?.withRenderingMode(.alwaysOriginal)

    let bannerWidth = navController.navigationBar.frame.size.width
    let bannerHeight = navController.navigationBar.frame.size.height

    let bannerX = bannerWidth / 2 - image!.size.width  / 2
    let bannerY = bannerHeight / 2 - image!.size.height / 2

    button.frame = CGRect(x: bannerX, y: bannerY, width: bannerWidth, height: bannerHeight)
    button.imageView?.contentMode = .scaleAspectFit
    button.imageView?.image = image

    button.addTarget(self, action: #selector(self.logoTapped), for: .touchUpInside)
    self.navigationItem.titleView = button
}
极乐

创建UIImageView,将其添加为 titleView 并添加UITapGestureRecognizer到您的UIImageView

let imageView = UIImageView()
imageView.image = UIImage.named("yourImage")
// do any settings to your imageView
let titleTap = UITapGestureRecognizer(target: self, action: #selector(titlePressed))
self.navigationItem.titleView = imageView
self.navigationItem.titleView?.isUserInteractionEnabled = true
self.navigationItem.titleView?.addGestureRecognizer(titleTap)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章