UIImage的大小不会变,当你将UIImage对象添加到一个自定义大小的UIImageview上时,UIImage会跟随UIImageview的大小而拉伸

解决方案 »

  1.   

    可以放到button或者textfield里面 可以用上面方法
      

  2.   


    好的,谢谢。
    那如何设置一个背景图片,拉伸而不是平铺呢?求教!我搜了很多方法,试了都不能拉伸背景,全部都是平铺背景的。
    默认都是平铺效果。你可以尝试将拉伸后的图片作为背景, as follow:接下面的代码:
    XXX.backgroundColor = [UIColor colorWithPatternImage:stretchableButtonImageNormal];
      

  3.   


    好的,谢谢。
    那如何设置一个背景图片,拉伸而不是平铺呢?求教!我搜了很多方法,试了都不能拉伸背景,全部都是平铺背景的。
    默认都是平铺效果。你可以尝试将拉伸后的图片作为背景, as follow:接下面的代码:
    XXX.backgroundColor = [UIColor colorWithPatternImage:stretchableButtonImageNormal];问题就在于如何获取stretchableButtonImageNormal,你看我提问中的code,我也是先选取一个img,然后想拉伸成一个strentchImg,就是拉伸一直不成功。不知道该用什么函数拉伸。UIImage类中的函数能用的基本试过了,都没有成功。
      

  4.   

    ios 6 以后都使用如下的方法来拉伸图片
    - (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets resizingMode:(UIImageResizingMode)resizingMode 其中UIImageResizingModeTile和 UIImageResizingModeStretch是两种模式,从名字就可以看出,是平铺模式和拉伸模式。
      

  5.   


    还是不行,
        UIImage* original = [UIImage imageNamed:@"refresh_wifiname"];//refresh_wifiname是一个40*40的图片
        UIImage *stren = [original resizableImageWithCapInsets:UIEdgeInsetsMake(0,0,10,10) resizingMode:UIImageResizingModeStretch];
        UIColor *clr = [[UIColor alloc]initWithPatternImage:stren];
        self.view.backgroundColor = clr;效果依然是平铺,不是拉伸,UIEdgeInsetsMake的参数也换过了,不管怎么换,还是平铺。
    是我少了什么步骤吗
      

  6.   

    已经解决:参照http://www.cnblogs.com/zhangdadi/archive/2012/11/17/2774919.html