共用方式為


UIKeyboard.DidChangeFrameNotification 屬性

定義

DidChangeFrame 的通知常數

[Foundation.Advice("Use UIKeyboard.Notifications.ObserveDidChangeFrame helper method instead.")]
[Foundation.Field("UIKeyboardDidChangeFrameNotification", "UIKit")]
[ObjCRuntime.Unavailable(ObjCRuntime.PlatformName.TvOS, ObjCRuntime.PlatformArchitecture.All, null)]
public static Foundation.NSString DidChangeFrameNotification { [ObjCRuntime.Unavailable(ObjCRuntime.PlatformName.TvOS, ObjCRuntime.PlatformArchitecture.All, null)] get; }
member this.DidChangeFrameNotification : Foundation.NSString

屬性值

NSString 常數應該用來做為 NSNotificationCenter 的權杖。

屬性

備註

這個常數可以搭配 使用 NSNotificationCenter ,以註冊此通知的接聽程式。 這是 NSString 而非字串,因為這些值可以當做某些原生程式庫中的權杖使用,而不是單純用於其實際字串內容。 回呼的 'notification' 參數包含通知類型特有的額外資訊。

如果您想要訂閱此通知,您可以使用方便 UIKeyboard.Notifications 的 。 ObserveDidChangeFrame 方法可提供通知參數的強型別存取。

下列範例示範如何使用強型別的 Notifications 類別,來排除通知中可用屬性的猜測:

//
// Lambda style
//

// listening
notification = UIKeyboard.Notifications.ObserveDidChangeFrame ((sender, args) => {
    /* Access strongly typed args */
    Console.WriteLine ("Notification: {0}", args.Notification);

    Console.WriteLine ("FrameBegin", args.FrameBegin);
    Console.WriteLine ("FrameEnd", args.FrameEnd);
    Console.WriteLine ("AnimationDuration", args.AnimationDuration);
    Console.WriteLine ("AnimationCurve", args.AnimationCurve);
});

// To stop listening:
notification.Dispose ();

//
// Method style
//
NSObject notification;
void Callback (object sender, UIKit.UIKeyboardEventArgs args)
{
    // Access strongly typed args
    Console.WriteLine ("Notification: {0}", args.Notification);

    Console.WriteLine ("FrameBegin", args.FrameBegin);
    Console.WriteLine ("FrameEnd", args.FrameEnd);
    Console.WriteLine ("AnimationDuration", args.AnimationDuration);
    Console.WriteLine ("AnimationCurve", args.AnimationCurve);
}

void Setup ()
{
    notification = UIKeyboard.Notifications.ObserveDidChangeFrame (Callback);
}

void Teardown ()
{
    notification.Dispose ();
}

下列範例示範如何搭配 DefaultCenter API 使用通知:

// Lambda style
NSNotificationCenter.DefaultCenter.AddObserver (
        UIKeyboard.DidChangeFrameNotification, (notification) => {Console.WriteLine ("Received the notification UIKeyboard", notification); }


// Method style
void Callback (NSNotification notification)
{
    Console.WriteLine ("Received a notification UIKeyboard", notification);
}

void Setup ()
{
    NSNotificationCenter.DefaultCenter.AddObserver (UIKeyboard.DidChangeFrameNotification, Callback);
}

適用於