未为 UIBarButtonItem 中的 UIButton 执行单击的处理程序

Posted

技术标签:

【中文标题】未为 UIBarButtonItem 中的 UIButton 执行单击的处理程序【英文标题】:Clicked handler not executed for UIButton in UIBarButtonItem 【发布时间】:2015-08-25 08:01:17 【问题描述】:

我想在我的工具栏中有一个自定义按钮标题。这是我以前用过的。

UIButton someButton = UIButton.FromType (UIButtonType.System);
someButton.SetTitle ("My custom button title", UIControlState.Normal);
someButton.SetTitleColor(UIColor.Black, UIControlState.Normal);
someButton.SizeToFit ();
someBarButtonItem = new UIBarButtonItem (someButton);

someButton.Clicked += someEventHandler;

Clicked 事件永远不会被抛出,因此我的事件处理程序不会被调用。我希望能够随时添加 (+=) 和删除 (-=) 事件处理程序。

【问题讨论】:

【参考方案1】:

尝试将您的事件添加到 someBarButtonItem 而不是按钮上,也许 UIBarButtonItem 没有将触摸正确转发到子视图?

【讨论】:

你是对的。我应该将事件添加到UIButton 而不是UIBarButtonItem。现在我使用someButton.TouchUpInside += someEventHandler;,它似乎工作了。

以上是关于未为 UIBarButtonItem 中的 UIButton 执行单击的处理程序的主要内容,如果未能解决你的问题,请参考以下文章