【问题标题】:Add/remove EventHandler for UIBarButtonItem为 UIBarButtonItem 添加/删除 EventHandler
【发布时间】:2015-08-19 14:05:16
【问题描述】:

可以在构造函数中定义EventHandler

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

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

之后是否可以删除EventHandler?也许根本不使用EventHandler,而是使用UIBarButtonItemAction/Target 属性?我没有找到任何例子。始终只使用anonymous methods

你是怎么做到的?

【问题讨论】:

    标签: c# ios xamarin xamarin.ios uibarbuttonitem


    【解决方案1】:

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

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

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

     logoutButton.Clicked -= logoutButtonEventHandler;
    

    这样做时请注意commom pitfalls,因为它们可能会导致内存泄漏。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-11-24
        • 1970-01-01
        • 1970-01-01
        • 2016-07-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-06-18
        相关资源
        最近更新 更多