zoukankan      html  css  js  c++  java
  • 键盘之上的工具栏,完美实现,动画无缺陷

    //键盘代理事件
    - (void)keyboardWillHide:(NSNotification *)notification{
        _keyBoardShowIng = NO;
        [UIView animateWithDuration:.25 animations:^{
            downView.top = MainScreenHeight;
            if (_richTextToolBar) {
                dispatch_async(dispatch_get_main_queue(), ^{
                     _richTextToolBar.hidden = YES;
                });
               
            }
        }];
        
    }
    
    - (void)keyboardWillShow:(NSNotification *)notification{
        _keyBoardShowIng = YES;
         NSDictionary *userInfo = [notification userInfo];
         NSValue * endValue   = [notification.userInfo objectForKey:UIKeyboardFrameEndUserInfoKey];
         CGFloat height = [endValue CGRectValue].size.height;
         if(height==0) return;
    
        
        NSNumber *duration = [userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey];
        
        NSNumber *curve = [userInfo objectForKey:UIKeyboardAnimationCurveUserInfoKey];
        
        // 添加移动动画,使视图跟随键盘移动
        
        [UIView animateWithDuration:duration.doubleValue animations:^{
            
            [UIView setAnimationBeginsFromCurrentState:YES];
            
            [UIView setAnimationCurve:[curve intValue]];
            
            downView.bottom = MainScreenHeight - height;
            
        }];
    }
    
    但是记得下面
    
    -(void)viewDidDisappear:(BOOL)animated
    {
        [super viewDidDisappear:animated];
        
        [[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillShowNotification object:nil];
         [[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillHideNotification object:nil];
    
    }
    
    -(void)viewWillAppear:(BOOL)animated{
        [super viewWillAppear:animated];
        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];
    
    }
    
  • 相关阅读:
    Palindrome Partitioning
    triangle
    Populating Next Right Pointers in Each Node(I and II)
    分苹果(网易)
    Flatten Binary Tree to Linked List
    Construct Binary Tree from Inorder and Postorder Traversal(根据中序遍历和后序遍历构建二叉树)
    iOS系统navigationBar背景色,文字颜色处理
    登录,注销
    ios 文字上下滚动效果Demo
    经常崩溃就是数组字典引起的
  • 原文地址:https://www.cnblogs.com/widgetbox/p/8352552.html
Copyright © 2011-2022 走看看