为UIBarButtonItem添加/删除EventHandler
我们可以在构造函数中定义一个EventHandler
:
UIBarButtonItem logoutButton = new UIBarButtonItem (UIBarButtonSystemItem.Stop, logoutButtonEventHandler); private void logoutButtonEventHandler(object sender, EventArgs args){ Console.WriteLine("Logout"); }
事后可以删除EventHandler
吗? 也许根本不使用EventHandler
,而是使用UIBarButtonItem
的Action
/ Target
属性? 我没有find任何例子。 只有匿名方法一直在使用。
你是怎样做的?
实例化对象,然后设置处理程序:
var logoutButton = new UIBarButtonItem (UIBarButtonSystemItem.Stop) logoutButton.Clicked += logoutButtonEventHandler;
之后使用-=
语法将其删除:
logoutButton.Clicked -= logoutButtonEventHandler;
当你这样做的时候,要小心一些常见的陷阱 ,因为它们可能会导致内存泄漏。
UIBarButtonItem有Clicked事件,所以你可以订阅和取消订阅它。