【发布时间】:2021-04-21 08:01:53
【问题描述】:
使用下面的代码,我可以在导航栏中获取标题图像,但 titlePressed 方法没有调用.. 如果我点击标题,我无法进入 HomeVC.. 请帮忙.. 我哪里错了
func setUpNavigationBar(){
let logoImageView = UIImageView.init(image: #imageLiteral(resourceName: "pic-logo"))
logoImageView.tintColor = .darkGray
logoImageView.frame = CGRect(x:0.0,y:0.0, width:100,height:25.0)
logoImageView.contentMode = .scaleAspectFit
logoImageView.widthAnchor.constraint(equalToConstant: 200).isActive = true
logoImageView.heightAnchor.constraint(equalToConstant: 50).isActive = true
self.navigationItem.titleView?.isUserInteractionEnabled = true
let titleTap = UITapGestureRecognizer(target: self, action: #selector(titlePressed))
self.navigationItem.titleView?.addGestureRecognizer(titleTap)
self.navigationItem.titleView = logoImageView
}
@objc func titlePressed(){
print("title clicked...")
let vc = StoryBoard.main.instantiateViewController(identifier: "HomeVC") as! HomeVC
self.navigationController?.pushViewController(vc, animated: true)
}
【问题讨论】:
-
请检查您的titleView是否有手势。
-
@Kudos,怎么样?以及在哪里检查
-
我在这里添加了
self.navigationItem.titleView?.addGestureRecognizer(titleTap) -
向 logoImageView 添加手势或将序列更改为 ```self.navigationItem.titleView = logoImageView self.navigationItem.titleView?.addGestureRecognizer(titleTap)
标签: swift uinavigationbar uitapgesturerecognizer