美文网首页iOS开发攻城狮的集散地
UIView设置图片-不使用UIImageView

UIView设置图片-不使用UIImageView

作者: 李李李大胖子 | 来源:发表于2018-04-13 18:32 被阅读8次

    昨天看到一个面试题,是在UIView上面添加一张图片,但是不使用UIImageview。目前我就想到了两种方式。

    1、将图片作为UIView的背景色。(不推荐使用)

    这种方式会在生成color时占用大量的内存。如果图片大小不够,就会平铺多张图片,不会去拉伸图片以适应View的大小。

     self.view.backgroundColor = [UIColorcolorWithPatternImage:[UIImageimageNamed:@"image.jpg"]];//方式一
    
     NSString *path = [[NSBundlemainBundle]pathForResource:@"image"ofType:@"png"];
     self.view.backgroundColor = [UIColorcolorWithPatternImage:[UIImageimageWithContentsOfFile:path]];方式二
    

    在View释放后,1中的color不会跟着释放,而是一直存在内存中;2中的color会跟着释放掉,当然再次生成color时就会再次申请内存

    2、绘制图片路径,添加到layer上

    NSString *path = [[NSBundlemainBundle]pathForResource:@"image"ofType:@"png"];   
    UIImage *image = [UIImageimageWithContentsOfFile:path];
    self.view.layer.contents = (id)image.CGImage;
    

    相关文章

      网友评论

        本文标题:UIView设置图片-不使用UIImageView

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