2016-12-13 11 views
2

UIViewControllerを作成し、ラベルとUITextViewUIViewControllerに作成しました。キーボードがUIViewControllerのUITextViewを隠しています。

UITextViewを私のUIViewControllerに1つ入れたいと思います。 私のアプリでのみランドスケープモードを使用しています。 私はこのアプリケーションを作るためにXamarin IOSを使用しています。

以下の画面には何が起こっているかが表示されます。 誰かが私を助けてくれますか?

Showing UITextView.

Keyboard is hiding my textview field.

答えて

1

あなたは、この問題は以下のように発生した場所、あなたのViewControllerにオブザーバーを追加する必要があります。

キーボードオブザーバViewDidLoad()です。

// Keyboard popup 
NSNotificationCenter.DefaultCenter.AddObserver 
(UIKeyboard.DidShowNotification,KeyBoardUpNotification); 

// Keyboard Down 
NSNotificationCenter.DefaultCenter.AddObserver 
(UIKeyboard.WillHideNotification,KeyBoardDownNotification); 

// Keyboard popup 
NSNotificationCenter.DefaultCenter.AddObserver 
(UIKeyboard.DidShowNotification,KeyBoardUpNotification); 

// Keyboard Down 
NSNotificationCenter.DefaultCenter.AddObserver 
(UIKeyboard.WillHideNotification,KeyBoardDownNotification); 

まずはKeyboardUpNotificationメソッドです。基本的には、コントロールがキーボードによって隠されているかどうかを計算し、そうであれば、コントロールを表示するためにビューを移動する必要があるかどうかを計算し、それを移動します。

​​

アクティブなフィールドは、現在開始されているテキストフィールドを追跡するために使用します。

公共オーバーライドボイドEditingStarted(UITextFieldのテキストフィールド)よりため {

 activeview = textField ; 
} 

http://www.gooorack.com/2013/08/28/xamarin-moving-the-view-on-keyboard-show/

+0

"BoundsFromNotification" は廃止予定されています。動いていない。 「アクティブビュー」とは何ですか?これは私のUIViewControllerに付属のUIViewのIDですか?私のUIViewの名前とクラスのフィールドは空です、私は私のUIViewのプロパティページからこれをチェックしました。 次はどうすればいいですか? 私は以下のリンクからいくつかの情報を得ました: [link](https://developer.xamarin.com/api/member/MonoTouch.UIKit.UIKeyboard+Notifications.ObserveWillShow/) – Khaksar

+0

activeviewはあなたのトラッキングビューです更新された回答。 – KKRocks

+0

これを避けるために試してください:http://stackoverflow.com/a/7785126/3901620 – KKRocks

関連する問題