#iphone #ios #xcode #xcode4
#iPhone #iOS #xcode #xcode4
Вопрос:
в настоящее время я разрабатываю приложение, которое использует UIAlertview
для изменения изображений кнопок. я пробовал это, но, похоже, это не работает! пожалуйста, помогите в этом вопросе! 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];
}
}
Комментарии:
1. Как вы настраиваете UIButton? Я не верю, что вы можете менять фон, если не настроите его как пользовательский
Ответ №1:
Я тоже только что столкнулся с этим. Кнопки не могут изменять свой фон, если они не являются пользовательскими. В противном случае изменение фона на обычной кнопке аналогично изменению фона a UITableViewCell
(фактическое изменение происходит при доступе contentView
— но это не так с UIButton
)
Итак, измените тип кнопки из сборки интерфейса на Custom
или инициализируйте свою кнопку из кода, подобного этому:
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];