2015-01-25 7 views
8

Ich bin mir bewusst, dass ich die UIKeyboard Höhe von UIKeyboardFrameEndUserInfoKey auf der TastaturWillShow und keyboardDidShow Benachrichtigungen ausgelöst, wenn es ein Ersthelfer wird.iOS iPhone - UIKeyboard Höhe vor keywordWillShow

Allerdings würde Ich mag die erwartete Höhe einer Tastatur vor diesen Ereignissen wissen, so kann ich das Setup bestimmte Design-Elemente bei viewDidLoad eines View-Controller.

Da Geräte verändern und die neue Rechtschreibkorrektur Leiste ändert die Tastaturhöhe ich die Höhe keine zu harten Code wollen.

Wer weiß, wie die erwartete Höhe der Tastatur berücksichtigt zu bekommen, ob es automatisch zu korrigieren hat oder nicht etc?

+0

Was tun Sie genau Brauchen Sie es? Seien Sie spezifisch, weil Sie mit Sicherheit einen anderen Ansatz verfolgen möchten. – Wain

+0

Beachten Sie den Teil meiner Frage, der sagt "Ich möchte die erwartete Höhe einer Tastatur vor diesen Ereignissen wissen, so dass ich bestimmte Designelemente bei ViewDidLoad eines View-Controllers einrichten kann". Um dies zu erweitern: Ich habe Elemente, die basierend auf der Höhe der Tastatur ausgelegt sind, aber nicht als Antwort darauf, dass sie angehoben wird. – Zigglzworth

+2

Sie können es nicht vorher wissen. Die Tastaturhöhe kann für jedes Textfeld oder jede Textansicht auf dem Bildschirm unterschiedlich sein. Man könnte ein 'inputAccessoryView' haben und ein anderes vielleicht nicht. – rmaddy

Antwort

0

Sie durch die folgende Weise tun:

- (void)viewDidLoad { 
[super viewDidLoad]; 
[self initializeTextView]; 

} - (void) initializeTextView {

// Listen for keyboard appearances and disappearances 
[[NSNotificationCenter defaultCenter] addObserver:self 
             selector:@selector(keyboardDidShow:) 
              name:UIKeyboardDidShowNotification 
              object:nil]; 

[[NSNotificationCenter defaultCenter] addObserver:self 
             selector:@selector(keyboardDidHide:) 
              name:UIKeyboardDidHideNotification 
              object:nil]; 

myColoredTextview = [[UITextView alloc]initWithFrame:CGRectMake(0, 20, 300, 100)]; 
myColoredTextview.delegate = self; 
[self.view addSubview:myColoredTextview]; 
myColoredTextview.backgroundColor = [UIColor lightGrayColor]; 
} 

- (void)keyboardDidShow: (NSNotification *) notif{ 
// Do something here 
NSLog(@"show:%@",notif); 
NSDictionary *userInfo = [notif valueForKey:@"userInfo"]; 
CGRect kbFrame = [[userInfo objectForKey:@"UIKeyboardFrameBeginUserInfoKey"] CGRectValue]; 
NSLog(@"keboardHeight:%f",kbFrame.size.height); 

}

- (void)keyboardDidHide: (NSNotification *) notif{ 
// Do something here 
NSLog(@"hide:%@",notif); 

}

Verwandte Themen