Iphone通过viewDidLoad设置拉伸图像与按钮样式
2011-11-17 15:06
330 查看
- (void)viewDidLoad
{
UIImage *buttonImageNormal = [UIImage imageNamed:@"whiteButton.png"];
UIImage *stretchableButtonImageNormal = [buttonImageNormal
stretchableImageWithLeftCapWidth:12 topCapHeight:0];\\设置帽端为12px,也是就左边的12个像素不参与拉伸,有助于圆角图片美观
[doSomethingButton setBackgroundImage:stretchableButtonImageNormal
forState:UIControlStateNormal];
UIImage *buttonImagePressed = [UIImage imageNamed:@"blueButton.png"];
UIImage *stretchableButtonImagePressed = [buttonImagePressed
stretchableImageWithLeftCapWidth:12 topCapHeight:0];
[doSomethingButton setBackgroundImage:stretchableButtonImagePressed
forState:UIControlStateHighlighted];
}
放到对应View类(.m文件)里,引入对应的png图片.
1、- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight
这个函数是UIImage的一个实例函数,它的功能是创建一个内容可拉伸,而边角不拉伸的图片,需要两个参数,第一个是不拉伸区域和左边框的宽度,第二个参数是不拉伸区域和上边框的宽度。
第一次用这个函数的时候一直搞不懂为什么只要两个参数就行,至少应该指定左上角和右下角,总共四个参数啊。后来读读文档才明白,只需要两个参数就行了。
参数的意义是,如果参数指定10,5。那么,图片左边10个像素,上边5个像素。不会被拉伸,x坐标为11和一个像素会被横向复制,y坐标为6的一个像素会被纵向复制。注意:只是对一个像素进行复制到一定宽度。
附:两个聊天用的汽泡,与参数值。
15,13
21,13
2、- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight
这个函数是UIImage的一个实例函数,它的功能是创建一个内容可拉伸,而边角不拉伸的图片,需要两个参数,第一个是不拉伸区域和左边框的宽度,第二个参数是不拉伸区域和上边框的宽度。
如下图:(原图)
调整后的图:
代码:
float capWidth = 100.0f;
float topCapWidth = 100.0f;
baseGreen = [[[UIImage imageNamed:@"green.png"]stretchableImageWithLeftCapWidth:capWidth topCapHeight:topCapWidth] retain];
3、 stretchableImageWithLeftCapWidth:topCapHeight:创建并返回一个具有指定的值上限的新形象的对象。
- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight
参数
leftCapWidth
要使用的值上限为左侧的宽度。指定0如果你不希望的形象是横向拉伸。有关讨论如何值会影响形象,看到leftCapWidth财产。
topCapHeight
要使用的值为顶盖的宽度。指定0如果你不希望的形象是垂直拉伸。有关讨论如何值会影响形象,看到topCapHeight财产。
返回值
具有指定值上限的新形象的对象。
讨论
在缩放或图像大小,所涵盖的范畴的上限是不进行缩放或调整大小。相反,1像素宽的面积在每个方向上帽盖正是缩放或调整大小。这种技术通常用于创建可变宽度按钮,保有相同的圆角,但其中心区域的放大或缩小的需要。
使用此方法来添加值上限的图像或改变图像的现有上限的值。在这两种情况下,你获得了一新的图像和原始图像仍然无动于衷。
{
UIImage *buttonImageNormal = [UIImage imageNamed:@"whiteButton.png"];
UIImage *stretchableButtonImageNormal = [buttonImageNormal
stretchableImageWithLeftCapWidth:12 topCapHeight:0];\\设置帽端为12px,也是就左边的12个像素不参与拉伸,有助于圆角图片美观
[doSomethingButton setBackgroundImage:stretchableButtonImageNormal
forState:UIControlStateNormal];
UIImage *buttonImagePressed = [UIImage imageNamed:@"blueButton.png"];
UIImage *stretchableButtonImagePressed = [buttonImagePressed
stretchableImageWithLeftCapWidth:12 topCapHeight:0];
[doSomethingButton setBackgroundImage:stretchableButtonImagePressed
forState:UIControlStateHighlighted];
}
放到对应View类(.m文件)里,引入对应的png图片.
1、- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight
这个函数是UIImage的一个实例函数,它的功能是创建一个内容可拉伸,而边角不拉伸的图片,需要两个参数,第一个是不拉伸区域和左边框的宽度,第二个参数是不拉伸区域和上边框的宽度。
第一次用这个函数的时候一直搞不懂为什么只要两个参数就行,至少应该指定左上角和右下角,总共四个参数啊。后来读读文档才明白,只需要两个参数就行了。
参数的意义是,如果参数指定10,5。那么,图片左边10个像素,上边5个像素。不会被拉伸,x坐标为11和一个像素会被横向复制,y坐标为6的一个像素会被纵向复制。注意:只是对一个像素进行复制到一定宽度。
附:两个聊天用的汽泡,与参数值。
15,13
21,13
2、- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight
这个函数是UIImage的一个实例函数,它的功能是创建一个内容可拉伸,而边角不拉伸的图片,需要两个参数,第一个是不拉伸区域和左边框的宽度,第二个参数是不拉伸区域和上边框的宽度。
如下图:(原图)
调整后的图:
代码:
float capWidth = 100.0f;
float topCapWidth = 100.0f;
baseGreen = [[[UIImage imageNamed:@"green.png"]stretchableImageWithLeftCapWidth:capWidth topCapHeight:topCapWidth] retain];
3、 stretchableImageWithLeftCapWidth:topCapHeight:创建并返回一个具有指定的值上限的新形象的对象。
- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight
参数
leftCapWidth
要使用的值上限为左侧的宽度。指定0如果你不希望的形象是横向拉伸。有关讨论如何值会影响形象,看到leftCapWidth财产。
topCapHeight
要使用的值为顶盖的宽度。指定0如果你不希望的形象是垂直拉伸。有关讨论如何值会影响形象,看到topCapHeight财产。
返回值
具有指定值上限的新形象的对象。
讨论
在缩放或图像大小,所涵盖的范畴的上限是不进行缩放或调整大小。相反,1像素宽的面积在每个方向上帽盖正是缩放或调整大小。这种技术通常用于创建可变宽度按钮,保有相同的圆角,但其中心区域的放大或缩小的需要。
使用此方法来添加值上限的图像或改变图像的现有上限的值。在这两种情况下,你获得了一新的图像和原始图像仍然无动于衷。
说白了就是对一个图像做处理,只将中间需要放大的部分进行缩放,而四个角不做拉伸,四个边只做单方向上的拉伸。 |
相关文章推荐
- 通过Span设置TextView中字体的样式、大小
- 通过Spannable对象设置textview的样式
- Android中TextView通过SpannableString设置字体、大小、颜色、样式、超级链接
- iPhone开发:设置UITableView的一些样式
- ios开发笔记之十二 --viewDidload的方法的基本介绍用代码设置按钮的属性
- 通过Spannable对象设置textview的样式
- iphone 如何设置在uiImageView上添加按钮,按钮透明并且能响应事件
- Flex中通过textAlign样式在一个按钮(Button)控件中设置标签(label)对齐方式的例子
- Android中TextView通过SpannableString设置字体、大小、颜色、样式、超级链接
- 通过setContentView设置activity的不同样式
- 1)复选框中文字在左边;2)水平滚动条最小值为4、最大值为72;且在窗体Load事件中通过代码设置;3)单击任何复选框,标签上文字样式都发生变化;4)单击任意单选按钮,标签上文字字体都发生改变;5)拖
- :1)复选框中文字在左边;2)最下部为水平滚动条。水平滚动条最小值为4、最大值为72;且在窗体Load事件中通过代码设置;3)单击任何复选框,标签上文字样式都发生变化;4)单击任意单选按钮,标签上文字
- ios开发笔记之十一 --viewDidload的方法的基本介绍用代码设置按钮的属性
- Flex中如何通过selectedButtonTextStyleName样式,设置ToggleButtonBar选中按钮文本颜色
- 通过Selector来设置按钮enable/unable状态的样式
- 通过SpannableString 设置 TextView样式
- ios8 tableView设置滑动删除时 显示多个按钮
- TextView、EditText 怎样设置后缀为 .otf 原生文件 的文字样式
- Android TextView字体样式设置
- spring mvc通过ModelAndView跳转界面CSS js样式丢失