我在自己的一个视图控制器中添加了带有自定义图像的UIButton,没有文本到导航栏。在那个导航栏中也是默认按钮Back。
我将UIButton连接到Connection:Action,Type:UIButton,Event:Touch Up Inside and Arguments:Sender。
当我点击该按钮时没有任何反应,它根本没有注册触摸。 Button Back正常工作。
为什么会这样?如何解决?
答案 0 :(得分:0)
试试这个:
由于您要将其添加到导航栏,因此必须为UIBarButtonItem
。因此,您要连接到它的操作插座必须是UIBarButtonItem
类型,而不是UIButton
。
检查UIBarButtonItem
的插座是否正确连接。
检查UIBarButtonItem
的用户互动是否已启用。
答案 1 :(得分:0)
当我点击该按钮时没有任何反应,它根本没有注册触摸。
99%的时间,当我看到此投诉时,原因是您以某种方式将按钮放在超级视图之外。超级视图外部的按钮是可见的(默认情况下),但不可触摸。 (有时会发生这种情况,因为超级视图本身从未被赋予大小,因此没有大小;有时则是出于其他原因。)
我无法再告诉你了,因为你还没有告诉你(也就是说你没有详细说明这个按钮是如何进入导航栏的)。但我愿意打赌,如果你深入挖掘,你会发现我的猜测是正确的。
答案 2 :(得分:0)
我通过首先将导航项添加到导航栏然后将Button添加到导航项来解决它。
答案 3 :(得分:0)
要在导航栏上添加按钮,您必须添加如下:
let leftButton = UIBarButtonItem(title: "abc", style: .Plain, target: self, action: #selector(ViewController.buttonClicked(_:)))
let navigationItem = UINavigationItem()
navigationItem.titleView = UIImageView(image: UIImage(named: "image.png"))
navigationItem.leftBarButtonItem = leftButton
这是左按钮。您可以以相同的方式添加右键。