UIImage如何拉伸

fssssssss 2014-09-30 11:30:25
看到书上代码

UIImage *buttonImageNormal = [UIImage imageNamed:@"bk1.png"];
UIImage *stretchableButtonImageNormal = [buttonImageNormal stretchableImageWithLeftCapWidth:10 topCapHeight:0];

可是我打印了width和height,发现是一样的
NSLog(@"%d --- %d",(int)buttonImageNormal.size.height,(int)buttonImageNormal.size.width);
NSLog(@"%d --- %d",(int)stretchableButtonImageNormal.size.height,(int)stretchableButtonImageNormal.size.width);


求解,求解。

我是想搞 一个屏幕的 背景图片拉伸效果。
...全文
227 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Bannings 2014-10-01
  • 打赏
  • 举报
回复
解决就好
仗剑行四方 2014-10-01
  • 打赏
  • 举报
回复
放到一个ImageView上面
ReyZhang 2014-09-30
  • 打赏
  • 举报
回复
UIImage的大小不会变,当你将UIImage对象添加到一个自定义大小的UIImageview上时,UIImage会跟随UIImageview的大小而拉伸
fssssssss 2014-09-30
  • 打赏
  • 举报
回复
已经解决:参照 http://www.cnblogs.com/zhangdadi/archive/2012/11/17/2774919.html
fssssssss 2014-09-30
  • 打赏
  • 举报
回复
引用 6 楼 zhanglei5415 的回复:
ios 6 以后都使用如下的方法来拉伸图片
- (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets resizingMode:(UIImageResizingMode)resizingMode
其中UIImageResizingModeTile和 UIImageResizingModeStretch是两种模式,从名字就可以看出,是平铺模式和拉伸模式。
还是不行, 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的参数也换过了,不管怎么换,还是平铺。 是我少了什么步骤吗
ReyZhang 2014-09-30
  • 打赏
  • 举报
回复
ios 6 以后都使用如下的方法来拉伸图片
- (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets resizingMode:(UIImageResizingMode)resizingMode
其中UIImageResizingModeTile和 UIImageResizingModeStretch是两种模式,从名字就可以看出,是平铺模式和拉伸模式。
fssssssss 2014-09-30
  • 打赏
  • 举报
回复
引用 4 楼 zhanglei5415 的回复:
[quote=引用 3 楼 fssssssss 的回复:] [quote=引用 1 楼 zhanglei5415 的回复:] UIImage的大小不会变,当你将UIImage对象添加到一个自定义大小的UIImageview上时,UIImage会跟随UIImageview的大小而拉伸
好的,谢谢。 那如何设置一个背景图片,拉伸而不是平铺呢?求教! 我搜了很多方法,试了都不能拉伸背景,全部都是平铺背景的。[/quote] 默认都是平铺效果。你可以尝试将拉伸后的图片作为背景, as follow: 接下面的代码: XXX.backgroundColor = [UIColor colorWithPatternImage:stretchableButtonImageNormal]; [/quote] 问题就在于如何获取stretchableButtonImageNormal,你看我提问中的code,我也是先选取一个img,然后想拉伸成一个strentchImg,就是拉伸一直不成功。不知道该用什么函数拉伸。UIImage类中的函数能用的基本试过了,都没有成功。
ReyZhang 2014-09-30
  • 打赏
  • 举报
回复
引用 3 楼 fssssssss 的回复:
[quote=引用 1 楼 zhanglei5415 的回复:] UIImage的大小不会变,当你将UIImage对象添加到一个自定义大小的UIImageview上时,UIImage会跟随UIImageview的大小而拉伸
好的,谢谢。 那如何设置一个背景图片,拉伸而不是平铺呢?求教! 我搜了很多方法,试了都不能拉伸背景,全部都是平铺背景的。[/quote] 默认都是平铺效果。你可以尝试将拉伸后的图片作为背景, as follow: 接下面的代码: XXX.backgroundColor = [UIColor colorWithPatternImage:stretchableButtonImageNormal];
fssssssss 2014-09-30
  • 打赏
  • 举报
回复
引用 1 楼 zhanglei5415 的回复:
UIImage的大小不会变,当你将UIImage对象添加到一个自定义大小的UIImageview上时,UIImage会跟随UIImageview的大小而拉伸
好的,谢谢。 那如何设置一个背景图片,拉伸而不是平铺呢?求教! 我搜了很多方法,试了都不能拉伸背景,全部都是平铺背景的。
小copy 2014-09-30
  • 打赏
  • 举报
回复
可以放到button或者textfield里面 可以用上面方法

29,031

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧