i am currently developing an app that uses an UIAlertview
to change buttons images.
i have tried this but it does not seem to be working!
please help in this matter!
Rafee
- (IBAction)changebackground:(id)sender {
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle:@"The Title"
message:@"The Message"
delegate:self
cancelButtonTitle:@"Cancel"
otherButtonTitles:@"normal",@"for girly girls",@"for boys!", nil];
[alert show];
}
-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
if (buttonIndex == 1) {
UIImage *img = [UIImage imageNamed:@"img1.jpg"];
[background setImage:img];
UIImage *buttonImage = [UIImage imageNamed:@"black sharp.png"];
[asharp setImage:buttonImage forState:UIControlStateNormal];
[self.view addSubview:asharp];
UIImage *buttonImage2 = [UIImage imageNamed:@"black sharp.png"];
[csharp setImage:buttonImage2 forState:UIControlStateNormal];
[self.view addSubview:csharp];
UIImage *buttonImage3 = [UIImage imageNamed:@"black sharp.png"];
[dsharp setImage:buttonImage3 forState:UIControlStateNormal];
[self.view addSubview:dsharp];
UIImage *buttonImage4 = [UIImage imageNamed:@"black sharp.png"];
[fsharp setImage:buttonImage4 forState:UIControlStateNormal];
[self.view addSubview:fsharp];
UIImage *buttonImage5 = [UIImage imageNamed:@"black sharp.png"];
[gsharp setImage:buttonImage5 forState:UIControlStateNormal];
[self.view addSubview:gsharp];
UIImage *buttonImage6 = [UIImage imageNamed:@"white key.png"];
[middlec setImage:buttonImage6 forState:UIControlStateNormal];
[self.view addSubview:middlec];
UIImage *buttonImage7 = [UIImage imageNamed:@"white key.png"];
[d setImage:buttonImage7 forState:UIControlStateNormal];
[self.view addSubview:d];
UIImage *buttonImage8 = [UIImage imageNamed:@"white key.png"];
[en setImage:buttonImage8 forState:UIControlStateNormal];
[self.view addSubview:en];
UIImage *buttonImage9 = [UIImage imageNamed:@"white key.png"];
[f setImage:buttonImage9 forState:UIControlStateNormal];
[self.view addSubview:f];
UIImage *buttonImage10 = [UIImage imageNamed:@"white key.png"];
[g setImage:buttonImage10 forState:UIControlStateNormal];
[self.view addSubview:g];
UIImage *buttonImage11 = [UIImage imageNamed:@"white key.png"];
[a setImage:buttonImage11 forState:UIControlStateNormal];
[self.view addSubview:a];
UIImage *buttonImage12 = [UIImage imageNamed:@"white key.png"];
[b setImage:buttonImage12 forState:UIControlStateNormal];
[self.view addSubview:b];
}
if (buttonIndex == 2) {
UIImage *img = [UIImage imageNamed:@"img2.jpg"];
[background setImage:img];
UIImage *buttonImage = [UIImage imageNamed:@"green sharp.png"];
[asharp setImage:buttonImage forState:UIControlStateNormal];
[self.view addSubview:asharp];
UIImage *buttonImage2 = [UIImage imageNamed:@"green sharp.png"];
[csharp setImage:buttonImage2 forState:UIControlStateNormal];
[self.view addSubview:csharp];
UIImage *buttonImage3 = [UIImage imageNamed:@"green sharp.png"];
[dsharp setImage:buttonImage3 forState:UIControlStateNormal];
[self.view addSubview:dsharp];
UIImage *buttonImage4 = [UIImage imageNamed:@"green sharp.png"];
[fsharp setImage:buttonImage4 forState:UIControlStateNormal];
[self.view addSubview:fsharp];
UIImage *buttonImage5 = [UIImage imageNamed:@"green sharp.png"];
[gsharp setImage:buttonImage5 forState:UIControlStateNormal];
[self.view addSubview:gsharp];
UIImage *buttonImage6 = [UIImage imageNamed:@"pink key.png"];
[middlec setImage:buttonImage6 forState:UIControlStateNormal];
[self.view addSubview:middlec];
UIImage *buttonImage7 = [UIImage imageNamed:@"pink key.png"];
[d setImage:buttonImage7 forState:UIControlStateNormal];
[self.view addSubview:d];
UIImage *buttonImage8 = [UIImage imageNamed:@"pink key.png"];
[en setImage:buttonImage8 forState:UIControlStateNormal];
[self.view addSubview:en];
UIImage *buttonImage9 = [UIImage imageNamed:@"pink key.png"];
[f setImage:buttonImage9 forState:UIControlStateNormal];
[self.view addSubview:f];
UIImage *buttonImage10 = [UIImage imageNamed:@"pink key.png"];
[g setImage:buttonImage10 forState:UIControlStateNormal];
[self.view addSubview:g];
UIImage *buttonImage11 = [UIImage imageNamed:@"pink key.png"];
[a setImage:buttonImage11 forState:UIControlStateNormal];
[self.view addSubview:a];
UIImage *buttonImage12 = [UIImage imageNamed:@"pink key.png"];
[b setImage:buttonImage12 forState:UIControlStateNormal];
[self.view addSubview:b];
}
if (buttonIndex == 3) {
UIImage *img = [UIImage imageNamed:@"img3.jpg"];
[background setImage:img];
UIImage *buttonImage = [UIImage imageNamed:@"orange sharp.png"];
[asharp setImage:buttonImage forState:UIControlStateNormal];
[self.view addSubview:asharp];
UIImage *buttonImage2 = [UIImage imageNamed:@"orange sharp.png"];
[csharp setImage:buttonImage2 forState:UIControlStateNormal];
[self.view addSubview:csharp];
UIImage *buttonImage3 = [UIImage imageNamed:@"orange sharp.png"];
[dsharp setImage:buttonImage3 forState:UIControlStateNormal];
[self.view addSubview:dsharp];
UIImage *buttonImage4 = [UIImage imageNamed:@"orange sharp.png"];
[fsharp setImage:buttonImage4 forState:UIControlStateNormal];
[self.view addSubview:fsharp];
UIImage *buttonImage5 = [UIImage imageNamed:@"orange sharp.png"];
[gsharp setImage:buttonImage5 forState:UIControlStateNormal];
[self.view addSubview:gsharp];
UIImage *buttonImage6 = [UIImage imageNamed:@"silver key.png"];
[middlec setImage:buttonImage6 forState:UIControlStateNormal];
[self.view addSubview:middlec];
UIImage *buttonImage7 = [UIImage imageNamed:@"silver key.png"];
[d setImage:buttonImage7 forState:UIControlStateNormal];
[self.view addSubview:d];
UIImage *buttonImage8 = [UIImage imageNamed:@"silver key.png"];
[en setImage:buttonImage8 forState:UIControlStateNormal];
[self.view addSubview:en];
UIImage *buttonImage9 = [UIImage imageNamed:@"silver key.png"];
[f setImage:buttonImage9 forState:UIControlStateNormal];
[self.view addSubview:f];
UIImage *buttonImage10 = [UIImage imageNamed:@"silver key.png"];
[g setImage:buttonImage10 forState:UIControlStateNormal];
[self.view addSubview:g];
UIImage *buttonImage11 = [UIImage imageNamed:@"silver key.png"];
[a setImage:buttonImage11 forState:UIControlStateNormal];
[self.view addSubview:a];
UIImage *buttonImage12 = [UIImage imageNamed:@"silver key.png"];
[b setImage:buttonImage12 forState:UIControlStateNormal];
[self.view addSubview:b];
}
}
I have just bumped into this one as well. Buttons cannot have their background changed unless they are custom. Otherwise, changing the background on a regular button is just like modifying the background of a UITableViewCell
(the actual change happens when accessing contentView
- but that's not the case with UIButton
)
So change your button type from interface build to Custom
or initialize your button from code like this:
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];