课程咨询 : TEL:0571-56020830 QQ:907090242

杭州达内ios培训

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

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


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

        杭州达内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 预测将发布

开班日期  |  更多

IOS--零基础全日制

IOS--零基础全日制

开班日期:每月28日

IOS--零基础周末班

IOS--零基础周末班

开班日期:每月28日

IOS--全日制班

IOS--全日制班

开班日期:每月28日

IOS--周末班

IOS--周末班

开班日期:每月28日

  • 地址:杭州市西湖区教工路23号百脑汇科技大厦15楼1508室21
  • 课程培训电话: TEL:0571-56020830 QQ:907090242     全国服务监督电话:400-111-8989
  • 服务邮箱 tousu@tedu.cn
  • 2001-2016 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56