为UIBarButtonItem添加/移除eventandler



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

UIBarButtonItem logoutButton = new UIBarButtonItem (UIBarButtonSystemItem.Stop, logoutButtonEventHandler);
private void logoutButtonEventHandler(object sender, EventArgs args){
    Console.WriteLine("Logout");
}

之后是否可以去除EventHandler ?也许根本不使用EventHandler,而是使用UIBarButtonItemAction/Target属性?我找不到任何例子。只有匿名方法一直被使用。

你是怎么做到的?

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

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

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

 logoutButton.Clicked -= logoutButtonEventHandler;

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

UIBarButtonItem has Clicked event,所以你可以订阅和取消订阅。

最新更新