未为 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 执行单击的处理程序的主要内容,如果未能解决你的问题,请参考以下文章

未为 PPT 中的图表设置数据标签属性

如何防止 uib-carousel 裁剪 uib-popover?

错误:未为颤振中的“FirebaseMessaging”类型定义“配置”方法

使用 Azure 表存储时出现“未为实体中的所有属性指定值”错误

使用 uib-accordion 的条件标题颜色

未为“对象”类型定义运算符“[]”[重复]