2011-08-04 77 views
0

我已经使用代码创建的按钮如下所示 -的UIButton状态变化

UIImage *kalenderImage = [UIImage imageNamed:@"start_icon_calendar_u.png"]; 
UIImageView *kalenderImageView = [[[UIImageView alloc] initWithFrame:CGRectMake(0, 0, kalenderImage.size.width/2, kalenderImage.size.height/2)] autorelease]; 
[kalenderImageView setImage:kalenderImage]; 
UILabel* kalendarLabel = [[[UILabel alloc] initWithFrame:CGRectMake (0, kalenderImage.size.height/2-15, kalenderImage.size.width/2, kalenderImage.size.height/2)] autorelease]; 
kalendarLabel.text = @"Kalender"; 
[kalenderButton addSubview:kalenderImageView]; 
[kalenderButton addSubview:kalendarLabel]; 
[kalenderButton addTarget:self action:@selector(showCalendar:) forControlEvents:UIControlEventTouchUpInside]; 

我需要改变按钮的图像为UIControlStateHighlighted状态。我怎样才能做到这一点 ? 我不想使用

KalenderButton setBackgroundImage:@"" forState:] 
[KalenderButton setImage:@"" forState] 

回答

0

它很简单。看下面的代码。它检查文件被锁定并相应地更改按钮的图像。您可以根据您的需要编辑代码。

if (fileLocked) { 
     UIImage *image = [UIImage imageNamed: [NSString stringWithFormat:@"icon-lock.png"]]; 
     [lockButton setImage:image forState:UIControlStateNormal]; 
    } else { 
     UIImage *image = [UIImage imageNamed: [NSString stringWithFormat:@"icon-unlock.png"]]; 
     [lockButton setImage:image forState:UIControlStateNormal]; 
    } 

它的工作原理。