在我的应用程序中,一个要求是将标签的背景设置为某个图像.我通过这个代码在UIlabel的后面设置图像来完成它
.H文件
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController
{
UIImageView *lblBGIV;
}
@end
Run Code Online (Sandbox Code Playgroud)
.M文件
- (void)viewDidLoad
{
[super viewDidLoad];
lblBGIV = [[UIImageView alloc] init];
UIImage *lblBGImg = [[UIImage imageNamed:@"textlblbg.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 8, 0, 8)];
lblBGIV.image = lblBGImg;
}
- (void)updateLabelMethod:(NSTimer *)theTimer {
lblBGIV.frame = CGRectMake(label.frame.origin.x-9, label.frame.origin.y-5, label.frame.size.width+18, 26);
[self.myScrollView addSubview:lblBGIV];
[self.myScrollView sendSubviewToBack:lblBGIV];
}
Run Code Online (Sandbox Code Playgroud)
您必须为不同的iOS设置不同的代码来设置图像.使用此代码,
UIImage *lblBGImg;
float currentVersion = 6.0;
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= currentVersion)
{
//device have iOS 6 or above
lblBGImg = [[UIImage imageNamed:@"textlblbg41.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 15, 0, 15) resizingMode:UIImageResizingModeStretch];
}else{
//device have iOS 5.1 or belove
lblBGImg = [[UIImage imageNamed: @"textlblbg41.png"] stretchableImageWithLeftCapWidth:15.0 topCapHeight:15.0];
}
lblBGIV.image = lblBGImg;
Run Code Online (Sandbox Code Playgroud)
这将成为iOS的诀窍.
小智 5
请resizableImageWithCapInsets:resizingMode:改用.
UIImage *lblBGImg = [[UIImage imageNamed:@"textlblbg.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 8, 0, 8) resizingMode:UIImageResizingModeStretch];
Run Code Online (Sandbox Code Playgroud)