作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在iOS中,是否有任何UIImage支持stretchableImageWithLeftCapWidth:,这是否意味着自动调整uiimage的大小?
最佳答案
首先,它已被弃用,取而代之的是更强大的 ressizedImageWithCapInsets:
。不过,只有 iOS 5.0 及更高版本支持。
stretchableImageWithLeftCapWidth:topCapHeight:
不会调整您调用它的图像的大小。它返回一个新的 UIImage。所有 UIImage 都可以以不同的尺寸绘制,但带帽的图像通过在角处绘制其帽来响应调整大小,然后填充剩余空间。
这什么时候有用?当我们想要用图像制作按钮时,如this tutorial for the iOS 5 version .
以下代码是 UIView drawRect
方法,它说明了常规 UIImage
和带大写字母的可拉伸(stretch)图像之间的区别。 stretch.png
使用的图像来自 http://commons.wikimedia.org/wiki/Main_Page .
- (void) drawRect:(CGRect)rect;
{
CGRect bounds = self.bounds;
UIImage *sourceImage = [UIImage imageNamed:@"stretch.png"];
// Cap sizes should be carefully chosen for an appropriate part of the image.
UIImage *cappedImage = [sourceImage stretchableImageWithLeftCapWidth:64 topCapHeight:71];
CGRect leftHalf = CGRectMake(bounds.origin.x, bounds.origin.y, bounds.size.width/2, bounds.size.height);
CGRect rightHalf = CGRectMake(bounds.origin.x+bounds.size.width/2, bounds.origin.y, bounds.size.width/2, bounds.size.height);
[sourceImage drawInRect:leftHalf];
[cappedImage drawInRect:rightHalf];
UIFont *font = [UIFont systemFontOfSize:[UIFont systemFontSize]];
[@"Stretching a standard UIImage" drawInRect:leftHalf withFont:font];
[@"Stretching a capped UIImage" drawInRect:rightHalf withFont:font];
}
输出:
关于iphone - UIImage可拉伸(stretch)ImageWithLeftCapWidth,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10150396/
在iOS中,是否有任何UIImage支持stretchableImageWithLeftCapWidth:,这是否意味着自动调整uiimage的大小? 最佳答案 首先,它已被弃用,取而代之的是更强大的
我是一名优秀的程序员,十分优秀!