为UIBarButtonItem添加/删除EventHandler

时间:2015-08-19 14:05:16

标签: c# ios xamarin xamarin.ios uibarbuttonitem

可以在构造函数中定义EventHandler

UIBarButtonItem logoutButton = new UIBarButtonItem (UIBarButtonSystemItem.Stop, logoutButtonEventHandler);

private void logoutButtonEventHandler(object sender, EventArgs args){
    Console.WriteLine("Logout");
}

以后可以删除EventHandler吗?也许完全不使用EventHandler而是使用UIBarButtonItemAction / Target属性?我找不到任何例子。只使用anonymous methods

你是怎么做到的?

2 个答案:

答案 0 :(得分:3)

实例化您的对象,然后设置处理程序:

var logoutButton = new UIBarButtonItem (UIBarButtonSystemItem.Stop)
logoutButton.Clicked += logoutButtonEventHandler;

要删除它,请使用-=语法:

 logoutButton.Clicked -= logoutButtonEventHandler;

当你这样做时要小心commom pitfalls因为它们可能会导致内存泄漏。

答案 1 :(得分:1)

UIBarButtonItem有Clicked event,因此您可以订阅和取消订阅。