美文网首页iOS进阶之路
手写输入法和重写UIScrollView的touch方法冲突

手写输入法和重写UIScrollView的touch方法冲突

作者: 蜡笔小强 | 来源:发表于2017-01-18 17:51 被阅读36次

    name:NSInvalidArgumentException

    reason:-[UIKBBlurredKeyView candidateList]: unrecognized selector sent to instance 0x100dae340

    之前一个版本线上项目突然大规模出现这个报错信息,[UIKBBlurredKeyView candidateList]这个错误google一下基本都是说scrollview重写了触摸事件和手写输入法冲突。

    @implementation UIScrollView (UITouch)

    - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {

    [[self nextResponder] touchesBegan:touches withEvent:event];

    [super touchesBegan:touches withEvent:event];

    }

    -(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {

    [[self nextResponder] touchesMoved:touches withEvent:event];

    [super touchesMoved:touches withEvent:event];

    }

    - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {

    [[self nextResponder] touchesEnded:touches withEvent:event];

    [super touchesEnded:touches withEvent:event];

    }

    @end

    我确实重写了这几个方法,为了解决scrollview加在uiview上,uiview的点击事件的。但是网上说的几个办法并不行,有人提出重写viewController的touch方法,用ismemberOf区分下scroll,但是我由于用的界面太多,所以没有测试。目前只能暂时先去掉这个类目(毕竟用户数量虽少,闪退是很重的)。

    注:我类目头文件只在某个界面的.m文件引入,也变成全局了,别的界面也都影响了。这个令人费解。如果大家对这个有好的解决方法,欢迎留言,或者QQ我,QQ:348031375  备注:简书。

    也欢迎更多iOSer来交流

    相关文章

      网友评论

        本文标题:手写输入法和重写UIScrollView的touch方法冲突

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