美文网首页
开发中几个小问题总结

开发中几个小问题总结

作者: 临川慕容吹雪 | 来源:发表于2018-10-25 19:37 被阅读9次

    这两天写代码遇到了些小问题总结下记录下供参考:

    • 很少用xib,今天遇到一个xib崩溃问题
    NSUnknownKeyException', 
    reason: '[<NSObject 0x6000000148b0> setValue:forUndefinedKey:]: 
    this class is not key value 
    coding-compliant for the key userNumberLabel
    

    除了检测关联属性是否存在和正确之外,还可以试着选择如图第二个属性:

    屏幕快照 2018-10-25 19.11.56.png
    • 设置UIImageView背景图片拉伸变形
      今天用老大给的一个图作为cell的背景图,要能铺满当前视图并且View不能变形。可以用如下类似代码方法:
     UIImage *image = [UIImage imageWithContentsOfFile:[NSString stringWithFormat:@"%@/fitfun_cell_bg.png",ffBundle.bundlePath]]; // 设置端盖的值
        //防止图片拉伸变形
        CGFloat top = image.size.height * 0.5;
        CGFloat left = image.size.width * 0.5; CGFloat
        bottom = image.size.height * 0.5;
        CGFloat right = image.size.width * 0.5; // 设置端盖的值
        UIEdgeInsets edgeInsets = UIEdgeInsetsMake(top, left, bottom, right); // 设置拉伸的模式
        UIImageResizingMode mode = UIImageResizingModeStretch; // 拉伸图片
        UIImage *newImage = [image resizableImageWithCapInsets:edgeInsets resizingMode:mode];
        UIImageView *imageView = [[UIImageView alloc]initWithImage:newImage];
        //imageView.contentMode = UIViewContentModeScaleAspectFit;
        cell.backgroundView = imageView;
    

    今天我又试着xib里面添加个imageView,为了让图片不变形,我在xib里面看到了如下属性stretching,可以通过调整stretching的值,达到同样效果:

    屏幕快照 2018-10-25 19.28.48.png
    • 改变cell.imageView.image显示的图片的大小
      有个需求cell最左边显示图片,我不想添加多余的视图,就用了cell.imgeView来实现,刚开始实现发现添加的图片太大,无法通过cell.imgeView.frame属性改变,因为你设置了不起作用,可以通过获取上下文方式改变。类似代码如下:
     UIImage *cellImage = [UIImage imageWithContentsOfFile:[NSString stringWithFormat:@"%@/%@",ffBundle.bundlePath,cellImageName]];
        CGSize itemSize = CGSizeMake(25, 25);//希望显示的大小
        UIGraphicsBeginImageContextWithOptions(itemSize, NO, UIScreen.mainScreen.scale);
        CGRect imageRect = CGRectMake(0.0, 0.0, itemSize.width, itemSize.height);
        [cellImage drawInRect:imageRect];
        cell.imageView.image = UIGraphicsGetImageFromCurrentImageContext();
          UIGraphicsEndImageContext();
    
    • Xib 在UIImageView无法添加subViews
      不管我怎么拖拽,发现用无法再UIImageView其上面通过xib添加子视图,然后网上查了,发现确实无法添加,只能通过代码添加了。具体可参考别人的回答

    相关文章

      网友评论

          本文标题:开发中几个小问题总结

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