美文网首页
适配项目中代码的选择

适配项目中代码的选择

作者: EurekaFlutter | 来源:发表于2018-04-24 18:18 被阅读0次

    纯代码并不是在所有的系统下都是适配的。目前我正在扫尾适配阶段 开启多个系统进行适配将所遇到的问题进行记录。如果对你有所帮助,请点个赞👍。如果你有更好的解决方式,请不吝赐教,在留言区留下你的解决方式。

    1.导航栏右上角 

    例如:

            UIButton *releaseButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];

            [releaseButton setTitle:@"登录"forState:normal];

            releaseButton.titleLabel.font =[UIFont systemFontOfSize:16];

            [releaseButton addTarget:selfaction:@selector(jumpView) forControlEvents:UIControlEventTouchUpInside];

            UIBarButtonItem *releaseButtonItem = [[UIBarButtonItem alloc] initWithCustomView:releaseButton];

            self.navigationItem.rightBarButtonItem = releaseButtonItem;

    以上在9.0系统是不显示的 替换方式 (亲测有效)

         UIBarButtonItem *rightBarItem = [[UIBarButtonItem alloc] initWithTitle:@"登录" style:UIBarButtonItemStylePlain target:self action:@selector(jumpView)];

            self.navigationItem.rightBarButtonItem = rightBarItem;

    2.观察者模式 未移除的问题 

    今天刚刚遇到的问题 ios11 是没问题的 10以下 包括10 都会出现的闪退

    An instance 0x7fca380ab600 of class UITableView was deallocated while key value observers were still registered with it. Current observation info: ( Context: 0x0, Property: 0x618000244c80> )

    翻译过来 就是监听没有移除

    然后找到导致闪退的类  然后重新对监听进行重新的定义 

      //使用kvo监听scrollView的滚动

    //    [self addObserver:self forKeyPath:@"contentOffset" options:NSKeyValueObservingOptionNew context:nil];

    可以简书搜索 自动移除监听 就出来了   

          [selfsj_addObserver:self forKeyPath:@"contentOffset"];

    3.//    self.navigationController.navigationBar.translucent = NO;

    上面这段代码 不要乱使用 乱使用 会导致意想不到的效果 要是出现了 删了就可以了

    4.消除警告,如果你是pod出来的项目  有时候 pod install  后会出现999+的警告代码 可能看的你是心乱如麻  在pod 配置文件中添加下面👇这个代码 就可以了。

    inhibit_all_warnings!

    5.有的时候 后台返回数组为 null  需要进行空数组判断

    [data isKindOfClass:[NSArray class]] && data.count > 0  以下这段代码进行判断

    相关文章

      网友评论

          本文标题:适配项目中代码的选择

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