我在一个单独的类中有一个静态方法来处理UIKeyboard。 WillHideNotification
& UIKeyboard.WillShowNotification
,以便它可以在整个应用程序中使用。在xamarin中获取NSNotification的观察者
我加入观察者的视图控制器通过以下方式: -
NSNotificationCenter.DefaultCenter.AddObserver (UIKeyboard.WillHideNotification, KeyboardAppearanceUtilities.OnKeyboardNotification);
我怎样才能得到通知操作方法的观测对象,在KeyboardAppearanceUtilities
类声明如下: -
public static void OnKeyboardNotification (NSNotification notification)
{
}
notification.Object始终为空,原因很明显,我没有在AddObserver
方法中设置对象参数。
有人可以指导我如何重新排列代码,以便这个通知处理程序可以在整个应用程序中使用,也让我访问观察员?
在这种情况下,观察者是你的'OnKeyboardNotification()'方法。你是指发件人吗?这应该是键盘显示的UIWindow,所以在大多数情况下只有唯一的应用程序窗口。 –
是观察者是OnKeyboardNotification方法,我怎样才能访问该方法中的发件人? notification.Object为null。 – ilight
如果notification.object为null,那么可能会发布通知而未指定对象。但在这种情况下,为什么你需要访问发件人? –