美文网首页iOS开发代码段Swift开发技巧走进swift
swift中怎么像android一样使用.9图拉伸

swift中怎么像android一样使用.9图拉伸

作者: brzhang | 来源:发表于2016-03-29 17:31 被阅读467次
    视觉给的图

    实际上没有必要这么给哦(64*11)~~,右边还有有一些浪费像素的,完全可以给我们自己拉伸。
    废话不多说。
    哪假如说,输入的内容很长呢加入有255个点?。我们把他作为背景的话。

            let imageView = UIImageView.init(frame: CGRectMake(50, 100, 264, 11))
            imageView.image = UIImage.init(named: "kaopu_back")
            view.addSubview(imageView)
    
    很差的效果

    这样写代码,会惨目忍睹,这时候,你就需要图片拉伸了。

    api在这里

    使用起来也非常简单咯 ,就是

            let imageView = UIImageView.init(frame: CGRectMake(50, 100, 264, 11))
            imageView.image = UIImage.init(named: "kaopu_back")?.resizableImageWithCapInsets(UIEdgeInsetsMake(0, 16, 0, 9))
            view.addSubview(imageView)
    
    效果就是

    那么为什么是:UIEdgeInsetsMake(0, 16, 0, 9),分别是(上,左,下,右),因为我们要告诉UIImage拉伸的区域是哪里。

    这幅图够你懂了

    那么对于我们的图片呢?

    对于我们的图片呢?

    那么,你理解为什么是UIEdgeInsetsMake(0, 16, 0, 9)了吧。

    有人一定会问:

    func resizableImageWithCapInsets(_ *capInsets*: UIEdgeInsets, resizingMode *resizingMode*: UIImageResizingMode) ->  UIImage
    

    那mode取不不同值有什么效果呢?不指定默认就是Tile。

    Stretch真的就像是.9拉伸一样,Tile有点repeat的意思。

    
            let imageView = UIImageView.init(frame: CGRectMake(50, 100, 264, 33))
            imageView.image = UIImage.init(named: "kaopu_back")?.resizableImageWithCapInsets(UIEdgeInsetsMake(4, 16, 4, 9))
            view.addSubview(imageView)
    
            let imageView2 = UIImageView.init(frame: CGRectMake(50, 150, 264, 33))
            imageView2.image = UIImage.init(named: "kaopu_back")?.resizableImageWithCapInsets(UIEdgeInsetsMake(4, 16, 4, 9), resizingMode: UIImageResizingMode.Stretch)
            view.addSubview(imageView2)
    
            let imageView3 = UIImageView.init(frame: CGRectMake(50, 200, 264, 33))
            imageView3.image = UIImage.init(named: "kaopu_back")?.resizableImageWithCapInsets(UIEdgeInsetsMake(4, 16, 4, 9), resizingMode: UIImageResizingMode.Tile)
            view.addSubview(imageView3)
    
    不同效果

    相关文章

      网友评论

        本文标题:swift中怎么像android一样使用.9图拉伸

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