Привет, как вы сказали, флешка связана с UIImageView, тогда это немного двусмысленно. Неясно, объявили ли вы IBOutlet для этого и подключились к UIImageview в xib, или вы объявили его как переменную в заголовочном файле. Есть два метода, оба из которых работают нормально
Метод 1:
Объявите IBoutlet в файле .h и подключите его к Imageview в xib. Вызов методов следующим образом
-(void)viewDidLoad{
[super viewDidLoad];
stick.image = [UIImage imageNamed:@"firstImage.png"];
stick.highlightedImage = [UIImage imageNamed:@"secondImage.png"];
}
-(IBAction)startClick:(id)sender{
stick.highlighted = YES;
}
будет служить вашей цели. Метод вызывается из кнопки в xib при событии touch up in. Если вы хотите вызвать этот метод из кнопки панели, все, что вам нужно, это подключить селектор кнопки панели к методу startclick.
// Второй метод
Если вы объявили свой Imageview в заголовке как UIImageView * stick;
в методе viewDidLoad вам нужно выделить его как
-(void)viewDidLoad{
[super viewDidLoad];
if (!stick) {
stick = [[UIImageView alloc] initWithFrame:CGRectMake(50, 50, 100, 100)];
[stick setImage:[UIImage imageNamed:@"firstImage.png"]];
[stick setHighlightedImage:[UIImage imageNamed:@"secondImage.png"]];
}
UIBarButtonItem* barButton = [[UIBarButtonItem alloc] initWithTitle:@"Click" style:UIBarButtonItemStylePlain
target:self action:@selector(startClick:)];
self.navigationItem.rightBarButtonItem = barButton;
[barButton release];
}
-(void)startClick:(id)sender{
stick.highlighted = YES;
}
Надеюсь, это поможет !!