zoukankan      html  css  js  c++  java
  • 监听键盘的出现和隐藏顶部View值得改变

    - (UITextView *)publishTextView

    {

        if (!_publishTextView)

        {

            UITextView *publishTextView = [[UITextView alloc] init];

            

            publishTextView.font = ContentTitleFont;

            publishTextView.frame = CGRectMake(0, 0, Screen_Width, Screen_Height);

            // 键盘成为第一响应者

            [publishTextView becomeFirstResponder];

            

            self.publishTextView = publishTextView;

            [self.view addSubview:publishTextView];

        }

        return _publishTextView;

    }

    - (YSWeiBoPublishToolbar *)publishToolbar

    {

        if (!_publishToolbar)

        {

            YSWeiBoPublishToolbar *publishToolbar = [[YSWeiBoPublishToolbar alloc] init];

            

            CGFloat publishToolbarHeight = 44.f;

            publishToolbar.frame = CGRectMake(0, Screen_Height - publishToolbarHeight, Screen_Width, publishToolbarHeight);

            

            self.publishToolbar = publishToolbar;

            [self.view addSubview:publishToolbar];

        }

        return _publishToolbar;

    }

    - (void)viewDidLoad

    {

        [super viewDidLoad];

        

        self.publishTextView.delegate = self;

        self.publishToolbar;

        [self setupNavigationItem];

        [YSWeiBoNotificationCenter addObserver:self selector:@selector(keyboardWillChangeFrame:) name:UIKeyboardWillChangeFrameNotification object:nil];

    }

    #pragma mark - 监听方法

    /** */

    - (void)keyboardWillChangeFrame:(NSNotification *)notification

    {

        NSDictionary *userInfo = notification.userInfo;

        // 动画的持续时间

        double duration = [userInfo[UIKeyboardAnimationDurationUserInfoKey] doubleValue];

        // 键盘的frame

        CGRect keyboardF = [userInfo[UIKeyboardFrameEndUserInfoKey] CGRectValue];

        

        [UIView animateWithDuration:duration animations:^{

            if (keyboardF.origin.y > self.view.height) { // 键盘的Y值已经远远超过了控制器view的高度

                self.publishToolbar.y = self.view.height - self.publishToolbar.height;

            } else {

                self.publishToolbar.y = keyboardF.origin.y - self.publishToolbar.height;

            }

        }];

    }

  • 相关阅读:
    设计模式之备忘录模式
    特殊传参方式
    页面响应效率测试
    composer安装的包git无法提交的解决办法是因为安装的时候生成了.git隐藏文件
    数据结构和算法深入浅出理解
    中缀表达式转换为后缀表达式
    p2p技术
    【自动化测试】WebDriver使用
    pt-query-digest简介使用
    mac编译openJDK8
  • 原文地址:https://www.cnblogs.com/happyEveryData/p/5515289.html
Copyright © 2011-2022 走看看