gyo*_*dor 11 iphone keyboard objective-c
我想在不使用键盘通知的情况下获得键盘的大小.原因是我在视图上有几个文本字段,我不需要为所有这些视图调整视图大小,正如我在几乎所有示例中看到的那样.我只需要在编辑时调整键盘后面的一些文本字段/视图的视图大小.所以我正在使用textFieldDidBeginEditing和
textFieldDidEndEditing方法,因为在这里我知道正在编辑的文本字段.另一个问题是,即使我订阅了键盘通知,UIKeyboardWillShowNotification之后textFieldDidBeginEditing也会被解雇,因此我无法在第一次激活时获得键盘大小.我假设没有提供实际文本字段或视图可用的键盘通知功能的信息.
The following code works but I need the keyboard size:
- (void) textFieldDidBeginEditing:(UITextField *) textField {
if ([theControls containsObject: textField]) {
[UIView beginAnimations: @"szar" context: nil];
[UIView setAnimationDuration:0.3];
self.view.transform = CGAffineTransformTranslate(self.view.transform, 0, -216);
[UIView commitAnimations];
}
}
- (void) textFieldDidEndEditing:(UITextField *) textField {
if ([theControls containsObject: textField]) {
[UIView beginAnimations: @"szar" context: nil];
[UIView setAnimationDuration:0.3];
self.view.transform = CGAffineTransformTranslate(self.view.transform, 0, +216);
[UIView commitAnimations];
}
}
Run Code Online (Sandbox Code Playgroud)
ric*_*ich 15
我仍然使用通知但不使用您指定的通知.也许这会更好?只是想帮忙,我明白这些事情是多么令人沮丧.
viewDidLoad {
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardWasShown:)
name:UIKeyboardDidShowNotification
object:nil];
//For Later Use
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardWillHide:)
name:UIKeyboardWillHideNotification
object:nil];
}
- (void)keyboardWasShown:(NSNotification *)notification {
// Get the size of the keyboard.
CGSize keyboardSize = [[[notification userInfo] objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size;
}
Run Code Online (Sandbox Code Playgroud)
编辑:这可能有助于区分非活动的活动文本字段
- (void)textFieldDidBeginEditing:(UITextField *)textField {
self.activeTextField = textField;
}
- (void)textFieldDidEndEditing:(UITextField *)textField{
self.activeTextField = nil;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12409 次 |
| 最近记录: |