美文网首页
iOS 拉伸图片

iOS 拉伸图片

作者: Wynter_Wang | 来源:发表于2017-10-20 20:35 被阅读16次

    在开发过程中总会遇到背景图片和控件大小一致的困扰,通常就是两种方法:
    1、找美工切大小合适的图片
    2、通过使用代码处理或可视化设置图片拉伸

    如何使用Slicing

    Slicing功能要在.xcassets结尾的图片资源管理器中才可以使用

    1、通过以下Show Slicing按钮和右边栏Slicing属性打开效果相同,点击后可以看到有三种图片拉伸方式:水平、垂直、水平垂直方向;

    Slicing 中有个Center属性用来指定图片的拉伸方式(Stretches、Tile)和可拉伸矩形范围

    第一步把冰箱门打开.png

    2、根据需要选择图片拉伸方式,这里选择十字图标或右侧选择 Horizontal And Vertical来演示效果,如下图蓝色区域为可拉伸区域 CGSizeMake(5, 5),绿色区域为不可拉伸区域 UIEdgeInsetsMake(8, 8, 8, 8),可以通过过拖拉虚线来改变它们的作用区域或右侧属性来修改

    第二步大象装进冰箱.png

    水平拉伸方式更直观:


    拿一个水桶.png

    3、拉伸前图片大小52*52,通过设置后的效果


    第三步把大象拉出来溜溜.png

    在可视化编程中设置UIImageView的Stretching为(0.5, 0.5, 0, 0)来处理拉伸

    stretching.png

    通过使用UIImage方法处理图片拉伸

    - (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets;
    - (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets resizingMode:(UIImageResizingMode)resizingMode;
    

    参数
    capInsets:用来设置图片的顶、左、底、右的端盖高度
    resizingMode:指定图片的拉伸方式

    UIImageResizingModeStretch:延伸模式,通过拉伸UIEdgeInsets指定的矩形区域来填充图片图片
    UIImageResizingModeTile:平铺模式,通过复制显示UIEdgeInsets指定的矩形区域来填充图片

    总结

    Stretching属性设置拉伸只对UIImageView有效,按钮图片拉伸需要使用其他两种方式处理;
    UIImage中方法处理图片拉伸,适用于代码设置;
    Slicing功能最为方便有效,推荐使用;

    相关文章

      网友评论

          本文标题:iOS 拉伸图片

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