首页 > 代码库 > ios如何在一个UIImageButton的里面加一些自定义的箭头

ios如何在一个UIImageButton的里面加一些自定义的箭头

可以采用如下方法,写一个函数:

-(UIImage*) getOneImageButtonWithArrow{
    //tmpView做附控件
    UIView *tmpView = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 38.0f, 32.0f)];
	tmpView.backgroundColor = [UIColor clearColor];
    
    //bgImg作为背景
    UIImage* bgImg = [UIImage imageNamed:@"background.png"];
    UIImageView *bgImageView = [[UIImageView alloc] initWithImage:bgImg];
	bgImageView.frame = tmpView.frame;
    
    //加入tmpView
	[tmpView addSubview:bgImageView];
	[bgImageView release];

    //里面的icon
    UIImageView *tmpImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"icon.png"]];
    tmpImageView.frame = CGRectMake(4.0f, 4.0f, 24.0f, 24.0f);
	tmpImageView.backgroundColor = [UIColor clearColor];
	tmpImageView.alpha = 1.0f;
	[tmpView addSubview:tmpImageView];
    
    //箭头
    UIImage *arrowImage = [UIImage imageNamed:@"arrow.png"];
    UIImageView *arrowImageView = [[UIImageView alloc] initWithImage:arrowImage];
	arrowImageView.frame = CGRectMake(28.0f, 4.0f, 6.0f, 24.0f);
	[tmpView addSubview:arrowImageView];
    
    //获取上下文,得到这个UIImage
    UIGraphicsBeginImageContextWithOptions(tmpView.bounds.size, NO, 0.0);
    [tmpView.layer renderInContext:UIGraphicsGetCurrentContext()];
	UIImage *tmpImage = UIGraphicsGetImageFromCurrentImageContext();
	UIGraphicsEndImageContext();
	return tmpImage;
}