Xamarin.iOSでキーボードのサイズなど取得

キーボードの表示・非表示に関する通知設定、削除
[追記]2014年1月23日
もっと簡単に各種データ取得出来たので修正

public override void ViewWillAppear (bool animated)
{
	base.ViewWillAppear (animated);

	// キーボード表示・非表示の通知開始
	NSNotificationCenter.DefaultCenter.AddObserver (UIKeyboard.WillShowNotification, KeyboardWasShown);
	NSNotificationCenter.DefaultCenter.AddObserver (UIKeyboard.WillHideNotification, KeyboardWillBeHidden);
}

public override void ViewDidDisappear (bool animated)
{
	base.ViewDidDisappear (animated);

	// キーボード表示非表示の通知削除
	NSNotificationCenter.DefaultCenter.RemoveObserver (UIKeyboard.WillShowNotification);
	NSNotificationCenter.DefaultCenter.RemoveObserver (UIKeyboard.WillHideNotification);
}

キーボードが表示された時

private void KeyboardWasShown(NSNotification notification)
{
	var keyboardFrame = UIKeyboard.FrameEndFromNotification (notification);

	UIView.BeginAnimations ("AnimateKeyboardShow");
	UIView.SetAnimationDuration (UIKeyboard.AnimationDurationFromNotification (notification));
	UIView.SetAnimationCurve ((UIViewAnimationCurve)UIKeyboard.AnimationCurveFromNotification (notification));
	UIView.SetAnimationRepeatCount (1);
	UIView.SetAnimationRepeatAutoreverses (false);
	〜ここにアニメーションの内容を書く〜
	UIView.CommitAnimations ();
}
広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中