郭嘉的博客

大家一起学习,一起成长

ios --- 动态获取键盘高度

需要手动调用 registerForKeyboardNotifications 方法,其他两个会自动调用,弹出的键盘高 216(输入英文时候),ios 5 系统的
@implementation ViewController

  • (void)viewDidLoad
    {
    [super viewDidLoad];
    [self registerForKeyboardNotifications];
    UITextView *tv = [[UITextView alloc] initWithFrame:CGRectMake(100, 100, 100, 50)];
    [self.view addSubview:tv];
    [tv release];
    }
  • (void) registerForKeyboardNotifications
    {
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWasShown:) name:UIKeyboardDidShowNotification object:nil];

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

  • (void) keyboardWasShown:(NSNotification *) notif
    {
    NSDictionary *info = [notif userInfo];
    NSValue *value = [info objectForKey:UIKeyboardFrameBeginUserInfoKey];
    CGSize keyboardSize = [value CGRectValue].size;

    NSLog(@”keyBoard:%f”, keyboardSize.height); //216
    ///keyboardWasShown = YES;
    }

  • (void) keyboardWasHidden:(NSNotification *) notif
    {
    NSDictionary *info = [notif userInfo];

    NSValue *value = [info objectForKey:UIKeyboardFrameBeginUserInfoKey];
    CGSize keyboardSize = [value CGRectValue].size;
    NSLog(@”keyboardWasHidden keyBoard:%f”, keyboardSize.height);
    // keyboardWasShown = NO;

}

  • (void)didReceiveMemoryWarning
    {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
    }

@end

阅读更多
个人分类: IOS开发笔记
上一篇ios --- 动态获取键盘高度
下一篇[Phonegap+Sencha Touch] 移动开发5、Sencha touch结合Phonegap使用
想对作者说点什么? 我来说一句

获取键盘高度

2013年01月23日 28KB 下载

没有更多推荐了,返回首页

关闭
关闭