私はどこにでもいました...おそらく私は正しい検索語を使用していません。これはよくある質問だと思います。キーボードのボタンをクリックして画面上のキーボードを消すイベント
ユーザーがキーボードを下げるためにボタンをクリックしてキーボードを閉じたときに処理できるイベントはありますか? UITextFieldのはfirstresponderになったときに
iは、ビューを上に移動しますが、このボタンは「管理キーボード」セクションの2番目の段落を
私はどこにでもいました...おそらく私は正しい検索語を使用していません。これはよくある質問だと思います。キーボードのボタンをクリックして画面上のキーボードを消すイベント
ユーザーがキーボードを下げるためにボタンをクリックしてキーボードを閉じたときに処理できるイベントはありますか? UITextFieldのはfirstresponderになったときに
iは、ビューを上に移動しますが、このボタンは「管理キーボード」セクションの2番目の段落を
通知を使用してみてください。あなたのviewDidLoad
にそれを追加します。
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];
して、メソッドを作成keyboardWillHide
と呼ばれる:
- (void)keyboardWillHide:(NSNotification *)notification {
//do whatever you need
}
は、それはあなたがevents.Youは、キーボードイベントを登録することができますキーボードを取得しNSNotificationCenterを使用することにより
チェックをタップアウトされたとき、私は再びそれを下に移動します:http://developer.apple.com/library/ios/DOCUMENTATION/UIKit/Reference/UITextField_Class/Reference/UITextField.html
を役に立てば幸いviewWillAppearとviewWillDisapperで登録抹消を忘れないでください。
ここでは使用する2つの通知:
UIKeyboardDidHideNotification(BOOL)がアニメ化{
[super viewWillAppear:animated];
NSLog(@ "キーボードイベントの登録");イベントの
//レジスタ
[NSNotificationCenter defaultCenter] addObserver:自己 セレクタ:@selector(keyboardDidShow :) 名:UIKeyboardDidShowNotification オブジェクト:なし]。
[NSNotificationCenter defaultCenter] addObserver:自己 セレクタ:@selector(keyboardDidHide :) 名:UIKeyboardDidHideNotification オブジェクト:なし]。
//セットアップコンテンツサイズ scrollview.contentSize = CGSizeMake(SCROLLVIEW_CONTENT_WIDTH、 SCROLLVIEW_CONTENT_HEIGHT); //例えば用(320,460)
//最初はキーボードが隠されていた keyboardVisible = NO; // in。hはBOOLを宣言するkeyboardVisible;
}- (ボイド)viewWillDisappear:(BOOL)( "キーボードイベントの登録解除" @){
のNSLogアニメーション。
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
- (ボイド)keyboardDidShow:(NSNotification *)NOTIF {
のNSLog(@ "キーボードが表示されています")。
//キーボードが表示されている場合、
if(keyboardVisible){
NSLog(@ "Keyboard is already visible。通知を無視する");
return;
}
// Get the size of the keyboard.
NSDictionary* info = [notif userInfo];
NSValue* aValue = [info objectForKey:UIKeyboardBoundsUserInfoKey];
CGSize keyboardSize = [aValue CGRectValue].size;
// Save the current location so we can restore
// when keyboard is dismissed
offset = scrollview.contentOffset; //in .h declare CGPoint offset and UIScrollView *scrollview.;
// Resize the scroll view to make room for the keyboard
CGRect viewFrame = scrollview.frame;
viewFrame.size.height -= keyboardSize.height;
scrollview.frame = viewFrame;
CGRect textFieldRect = [activeField frame];//in .h UITextField *activeField;
textFieldRect.origin.y += 10;
[scrollview scrollRectToVisible:textFieldRect animated:YES];
// Keyboard is now visible
keyboardVisible = YES;
}
- (無効)keyboardDidHide:(NSNotification *) {
// NOTIF(keyboardVisible!){
のNSLog(あればキーボードはすでに
が示されています@ "キーボードはすでに隠されています。通知を無視してください。
return;
}
// Reset the frame scroll view to its original value
scrollview.frame = CGRectMake(0, 0, SCROLLVIEW_CONTENT_WIDTH, SCROLLVIEW_CONTENT_HEIGHT);
// Reset the scrollview to previous location
scrollview.contentOffset = offset;
// Keyboard is no longer visible
keyboardVisible = NO;
}
- (BOOL)textFieldShouldReturn:(UITextFieldの*)テキストフィールド
{
[テキストフィールドresignFirstResponder]。
return YES;
}
希望はあなたを助けるだろう:)