stretchableImageWithLeftCapWidth: topCapHeight:ht;

- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight;

这个方法是UIImage的一个对象方法,它的功能是创建一个左边和上边指定区域不可拉伸,的UIImage对象,第一个参数设置左边不可拉伸区域,第二个参数设置上边不可拉伸区域。这个方法通常用于创建可变宽度的按钮,并保持相同的圆角。

注意,通过此方法生成的UIImage对象在拉伸的时候拉伸的像素是设置的保留区域的后面的一个像素进行上下左右拉伸。假如leftCapWidth设为10,那么在向左拉伸的时候是左侧第11个像素所在那一列的像素进行向左平铺操作,如果topCapHeight设为20,那么在向下拉伸的时候是上面第21个像素所在一排的像素进行向下平铺操作,其余像素不会被平铺。

- (void)viewDidLoad
{
    [super viewDidLoad];
    UIImage* image0 = [UIImage imageNamed:@"searchbar_textfield_background"];
    UITextField* textField0 = [[UITextField alloc] init];
    textField0.background = image0;
    textField0.frame = CGRectMake(100, 100, image0.size.width, image0.size.height);
    [self.view addSubview:textField0];

    UIImage* image1 = [image0 stretchableImageWithLeftCapWidth:image0.size.width*0.5 topCapHeight:image0.size.height*0.5];
    UITextField* textField1 = [[UITextField alloc] init];
    textField1.background = image1;
    textField1.frame = CGRectMake(100, 300, 100, 30);
    [self.view addSubview:textField1];
}

效果如下:

时间: 2024-11-29 03:26:20

stretchableImageWithLeftCapWidth: topCapHeight:ht;的相关文章

iPhone屏幕尺寸、分辨率及适配

目录(?)[+] 1.iPhone尺寸规格 设备 iPhone 宽 Width 高 Height 对角线 Diagonal 逻辑分辨率(point) Scale Factor 设备分辨率(pixel) PPI 3GS 2.4 inches (62.1 mm) 4.5 inches (115.5 mm) 3.5-inch 320x480 @1x 320x480 163 4(s) 2.31 inches (58.6 mm) 4.5 inches (115.2 mm) 3.5-inch 320x480

iOS 8:UIView Stretching设置

使用小图片当变长输入框或类似QQ聊天文字背景效果时,需要拉伸图片.UIImage提供了三个可完成此任务的方法: resizableImageWithCapInsets: resizableImageWithCapInsets:resizingMode: stretchableImageWithLeftCapWidth:topCapHeight: 第三个方法在iOS5中弃用. 在Storyboard或xib中拖入的控件都有Stretching属性,包含四个参数:X.Y.Width.Height.

拉伸图片的几种方式

问题:当图片比较小,而图片框.或者按钮,比较大,图片填充整个按钮会导致变形,通过拉伸图片可以使得虽然拉伸而不变形. 拉伸处理后: 方式1.通过resizableImageWithCapInsets:resizingMode方法. - (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets resizingMode:(UIImageResizingMode)resizingMode NS_AVAILABLE_IOS(6_0);

25个小技巧

(一)关于UITableView 方法flashScrollIndicators:这个很有用,闪一下滚动条,暗示是否有可滚动的内容.可以在ViewDidAppear或[table reload]之后调用. 点击Cell中的按钮时,如何取所在的Cell: -(void)OnTouchBtnInCell:(UIButton )btn { CGPoint point = btn.center; point = [table convertPoint:point fromView:btn.supervi

iosiPhone屏幕尺寸、分辨率及适配

iosiPhone屏幕尺寸.分辨率及适配 1.iPhone尺寸规格 设备 iPhone 宽 Width 高 Height 对角线 Diagonal 逻辑分辨率(point) Scale Factor 设备分辨率(pixel) PPI 3GS 2.4 inches (62.1 mm) 4.5 inches (115.5 mm) 3.5-inch 320x480 @1x 320x480 163 4(s) 2.31 inches (58.6 mm) 4.5 inches (115.2 mm) 3.5-

【转】iPhone屏幕尺寸、分辨率及适配

原文网址:http://blog.csdn.net/phunxm/article/details/42174937 1.iPhone尺寸规格 设备 iPhone 宽 Width 高 Height 对角线 Diagonal 逻辑分辨率(point) Scale Factor 设备分辨率(pixel) PPI 3GS 2.4 inches (62.1 mm) 4.5 inches (115.5 mm) 3.5-inch 320x480 @1x 320x480 163 4(s) 2.31 inches

使用 resizableImageWithCapInsets 方法实现可伸缩图片

之前介绍过通过 stretchableImageWithLeftCapWidth:topCapHeight: 方法来实现可伸缩图片: 可看这篇随笔:使用 stretchableImageWithLeftCapWidth 方法实现可伸缩图片 iOS5 中提供了一个新的 UIImage 对象实例方法:resizableImageWithCapInsets:,可以将图片转换为以某一偏移值为偏移的可伸缩图片(偏移值内的图片内容将不被拉伸或压缩). stretchableImageWithLeftCapW

iOS开发百问(4)

32.UIImage+Scale缩放图片 UIImage可以加载图片,但是我们想要得到一张缩小或放大的图片,利用UIImage不能做到,下面我们添加一个UIImage的分类,用来实现UIImage中图片的放大和缩小. 首先,创建一个UIImage+Scale类. 然后,实现该类的方法: #import <UIKit/UIKit.h> @interface UIImage (scale) -(UIImage*)scaleToSize:(CGSize)size; @end #import &quo

图片拉伸

UIImage *normalImage = [UIImage imageNamed:@"xx.png"]; //ios5以前实现拉伸图片指定位置的方法 UIImage *newImage = [normalImage stretchableImageWithLeftCapWidth: normalImage.size.width / 2 topCapHeight:normalImage.size.height / 2]; // stretchableImageWithLeftCapW