如何实现UIButton的背景图片拉伸
2013-04-09 08:19
701 查看
如果要实现如下图所示的button,背景是一个图片,由于按钮的大小不定,这时就需要适时的将背景的图片进行拉伸。
UIButton * btnIcon=[UIButton buttonWithType:UIButtonTypeCustom];
[btnIcon setFrame:CGRectMake(5, 50, 80, 30)];
// [btnIcon setImageEdgeInsets:UIEdgeInsetsMake(0, -10, 0, 0)]; 用于设置按钮左侧图标的位置 本例不需要
UIImage *image = [UIImage imageNamed:backImageFile];
//设置图片的拉伸方式,从图片的正中心拉伸,如果你的扩展位置不同,可以调整capInsets的值
//UIEdgeInsetsMake(CGFloat top, CGFloat left, CGFloat bottom, CGFloat right) 分别对应上,左,下,右的距离
image=[image resizableImageWithCapInsets:UIEdgeInsetsMake(floorf(image.size.height/2), floorf(image.size.width/2), floorf(image.size.height/2), floorf(image.size.width/2))];
//指定一下背景图片,就可以了。
[btnIcon setBackgroundImage:image forState:UIControlStateNormal];
UIButton * btnIcon=[UIButton buttonWithType:UIButtonTypeCustom];
[btnIcon setFrame:CGRectMake(5, 50, 80, 30)];
// [btnIcon setImageEdgeInsets:UIEdgeInsetsMake(0, -10, 0, 0)]; 用于设置按钮左侧图标的位置 本例不需要
UIImage *image = [UIImage imageNamed:backImageFile];
//设置图片的拉伸方式,从图片的正中心拉伸,如果你的扩展位置不同,可以调整capInsets的值
//UIEdgeInsetsMake(CGFloat top, CGFloat left, CGFloat bottom, CGFloat right) 分别对应上,左,下,右的距离
image=[image resizableImageWithCapInsets:UIEdgeInsetsMake(floorf(image.size.height/2), floorf(image.size.width/2), floorf(image.size.height/2), floorf(image.size.width/2))];
//指定一下背景图片,就可以了。
[btnIcon setBackgroundImage:image forState:UIControlStateNormal];
相关文章推荐
- 如何让背景图片实现拉伸效果,且无任何偏移(记录下,以后会用到)
- 如何拉伸有透明区域的png图片来做UIButton的背景图片
- 如何通过CSS实现背景图片自动平铺或拉伸至整个屏幕(自适应大小)
- mfc主窗口添加背景图片后,如何实现在背景图片上输出文字
- UIImageView 如何实现windows 桌面类似的背景壁纸屏幕(很小的图片会显示N多个)?
- React-Native 如何将图片作为页面的背景以及控件的嵌套实现启动应用
- 如何实现在一个界面上点击不同的位置,会有跳转到不同的Activity上(假设背景是一个图片)
- 【转载】如何实现动态更改水晶报表背景图片
- div实现背景图片拉伸
- css3实现背景图片拉伸效果像桌面壁纸一样
- 怎样实现表格背景图片的拉伸效果
- css 如何让背景图片拉伸填充避免重复显示
- 如何实现在单文档的窗口背景上贴上图片?
- 网页设计之如何实现图片透明背景
- UIButton实现背景拉伸
- MFC控件和背景图片自适应窗口最大化和拉伸缩放的实现
- css 如何让背景图片拉伸填充避免重复显示
- 如何使png图片在ie6里实现透明背景
- css 如何让背景图片拉伸填充避免重复显示 不是平铺
- MFC对话框控件和背景图片自适应窗口最大化和拉伸缩放的实现