杭州IOS培训
达内杭州IOS培训中心

TEL:0571-56020830

热门课程

达内:iOS键盘出现/消失通知

  • 时间:2016-03-09
  • 发布:杭州达内ios培训班_杭州达内ios培训_杭州ios培训
  • 来源:慕课网


    做输入类页面的时候,经常要监听键盘弹起、收起的事件,并且做重新布局,以防输入框被挡住。

    杭州达内IOS培训专家给出一段代码实例,分享给大家一个键盘事件通知的方法。

首先,添加和移除通知


- (void)viewDidAppear:(BOOL)animated{
    [super viewDidAppear:animated];
    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(keyboardWillShow:)
                                                 name:UIKeyboardWillShowNotification
                                               object:nil];

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

- (void)viewDidDisappear:(BOOL)animated {
    [super viewDidDisappear:animated];
    [[NSNotificationCenter defaultCenter] removeObserver:self
                                                    name:UIKeyboardWillShowNotification
                                                  object:nil];

    [[NSNotificationCenter defaultCenter] removeObserver:self
                                                    name:UIKeyboardWillHideNotification
                                                  object:nil];
}


之后,响应通知


- (void)keyboardWillShow:(NSNotification *)notification {

    NSDictionary *userInfo = [notification userInfo];
    NSValue *aValue = [userInfo objectForKey:UIKeyboardFrameEndUserInfoKey];

    CGRect keyboardRect = [aValue CGRectValue];
    keyboardRect = [self.view convertRect:keyboardRect fromView:nil]; 

    keyboardHeight = keyboardRect.size.height;

    CGRect frame = self.view.bounds;
    frame.size.height -= keyboardHeight;
    self.contentScrollView.frame = frame;
    self.contentScrollView.contentSize = CGSizeMake(SCREEN_WIDTH, CGRectGetMaxY(self.confirmBtn.frame)+ 20);
}

- (void)keyboardWillHide:(NSNotification *)notification {

    keyboardHeight = 0;

    self.contentScrollView.frame = self.view.bounds;
//    self.contentScrollView.contentSize = self.view.bounds.size;
}




原文链接:http://www.imooc.com/article/5355
上一篇:达内:iOS设置图片最大尺寸的方法
下一篇:苹果 iPhone SE 预测将发布

达内副总裁齐一楠接受新浪专访,解读2016达内耀升级

795万高校毕业生创历史,2017届毕业生就业近况几何?

达内Linux学员毕业2周就业率96%,薪资10000元

达内教育总裁韩少云受邀出席GIE国际教育峰会做主题演讲

选择城市和中心
贵州省

广西省

海南省