iOS开发中遇到的问题

2019-04-21  本文已影响0人  学习无底

一.对NSNumber类型调用length方法导致的崩溃

@implementation NSNumber (SafeString)

- (id)forwardingTargetForSelector:(SEL)aSelector {
    if ([NSString instancesRespondToSelector:aSelector]) {
        //number类型的特别容易用字符串来接,所以特别容易崩,批处理。
        return self.stringValue;
    }
    return nil;
}

@end

二.项目开发中使用UITextView,初始化时耗时比较长,尤其是在iOS8上

使用YYTextView替代,但是开启点击其它区域收回键盘时,点击YYTextView的编辑区域,键盘也收回。查看源码,可以通过如下方式处理

- (void)registerYYTextView{
//  接受编辑事件,注意编辑状态改变导致的键盘的弹出与收起
    IQKeyboardManager *keyBoardManager = [IQKeyboardManager sharedManager];
    [keyBoardManager registerTextFieldViewClass:[YYTextView class] didBeginEditingNotificationName:YYTextViewTextDidBeginEditingNotification didEndEditingNotificationName:YYTextViewTextDidEndEditingNotification];
//  处理键盘收回
    [keyBoardManager.touchResignedGestureIgnoreClasses addObject:[YYTextContainerView class]];
    [keyBoardManager.touchResignedGestureIgnoreClasses addObject:[YYTextView class]];
}
上一篇下一篇

猜你喜欢

热点阅读