无法在顶部导航栏中使图像可单击(Swift 4)

时间:2018-07-29 23:14:49

标签: ios swift swift4 navigationbar

所以我一直在努力使图片可点击。我正在尝试使用UITapGestureRecognizer类引用我的方法,但是当我在模拟器上单击/点击时,它似乎没有注册。

我也知道将图像设置为按钮更容易,但是这样做会导致图像充满整个导航栏并被完全拉伸。

代码:

let leftNavigationBar: UIBarButtonItem = {
    let logoImage = UIImage(named: "defaultUserIcon")
    let logoImageView = UIImageView(image: logoImage)
    logoImageView.frame = CGRect(x:0.0,y:0.0, width:35,height:35)
    logoImageView.contentMode = .scaleAspectFit

    // Tap gesture
    let tapGesture = UITapGestureRecognizer(target: self, action: #selector(showSideBar))
    logoImageView.isUserInteractionEnabled = true
    logoImageView.addGestureRecognizer(tapGesture)

    let imageItem = UIBarButtonItem(customView: logoImageView)

    // adding constraints here

    return imageItem
}()


@objc func showSideBar() {
    print(123)
}

override func viewDidLoad() {
    navigationItem.leftBarButtonItem = leftNavigationBar
}

该代码的目的是在用户单击屏幕左上角的个人资料图片时显示侧栏。

编辑:我添加了用户交互,但是它似乎仍然不起作用。我尝试将图像放入工作的主视图中。因此,它似乎只在导航栏中出现错误。

0 个答案:

没有答案