为UIBarButtonItem添加/移除事件处理程序

4

可以在构造函数中定义一个EventHandler

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

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

有没有可能之后删除EventHandler?也许根本不使用EventHandler,而是使用UIBarButtonItemAction/Target属性?我没有找到任何例子。只有匿名方法一直在使用。
你怎么做到的?
2个回答

3

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

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

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

 logoutButton.Clicked -= logoutButtonEventHandler;

当你这样做时,要小心常见的陷阱,因为它们可能会导致内存泄漏。


1

UIBarButtonItem有点击事件,因此您可以订阅和取消订阅它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接