美文网首页
关于YZInputView的BUG

关于YZInputView的BUG

作者: 爃少 | 来源:发表于2016-10-09 15:35 被阅读325次

    原文地址:http://www.jianshu.com/p/55d98e8f3e61
    原文底下评论有提到iOS8.0的不能滑动的bug.废话不多说,直接上代码
    修改一个方法就可以搞掂.

    @property (nonatomic,assign) BOOL flag;
    
    - (void)textDidChange
    {
        // 占位文字是否显示
        self.placeholderView.hidden = self.text.length > 0;
        
        NSInteger height = ceilf([self sizeThatFits:CGSizeMake(self.bounds.size.width, MAXFLOAT)].height);
        
        if (_textH != height) { // 高度不一样,就改变了高度
            
            // 最大高度,可以滚动
            self.scrollEnabled = height > _maxTextH && _maxTextH > 0;
            
            _textH = height;
            if (height > _maxTextH) {
                _textH = _maxTextH;
            }
            
            if (_yz_textHeightChangeBlock && self.scrollEnabled == NO) {
                _yz_textHeightChangeBlock(self.text,height);
                [self scrollRangeToVisible:NSMakeRange(0,0)];
                self.placeholderView.frame = self.bounds;
                _flag = NO;
            }
            if (_yz_textHeightChangeBlock && self.scrollEnabled == YES){
                
                self.nim_height = _maxTextH;
                
                if (!_flag) {
                    [self scrollRangeToVisible:NSMakeRange(0, self.text.length)];
                    _flag = YES;
                }
            }
            [self.superview layoutIfNeeded];
        }
    }
    

    相关文章

      网友评论

          本文标题:关于YZInputView的BUG

          本文链接:https://www.haomeiwen.com/subject/jdopyttx.html