#iphone #background #uibutton
#iPhone #фон #uibutton
Вопрос:
С моим приведенным ниже кодом кажется, что кнопка все время находится в нормальном состоянии (всегда зеленая), хотя я нажимаю на нее.
UIButton *gumb = [UIButton buttonWithType:UIButtonTypeCustom];
gumb.frame = CGRectMake(4, 40, 104, 37);
gumb.tag=0;
[gumb setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
[gumb setTitleColor:[UIColor blackColor] forState:UIControlStateSelected];
[gumb setBackgroundImage:[UIImage imageNamed:@"greenButton.png"] forState:UIControlStateNormal];
[gumb setBackgroundImage:[UIImage imageNamed:@"whiteButton.png"] forState: UIControlStateSelected];
Если я установлю изображение для обычного состояния на whiteButton, а для выбранного — на GreenButton, то кнопка всегда будет белой и никогда не будет зеленой.
Комментарии:
1. При нажатии на кнопку она изменит состояние на подсвеченное . Не выбрано состояние. Выбранное состояние используется для кнопок вкладок
Ответ №1:
[gumb setBackgroundImage:[UIImage imageNamed:@"whiteButton.png"] forState: UIControlStateHighlighted]
используйте это вместо выбранного изображения
Ответ №2:
Я не уверен, что выбранное состояние используется только для кнопок вкладок, потому что я пробовал, как это делал DixieFlatline, и иногда менял изображение кнопки. Но метод tt.Kilew определенно стоит попробовать. Просто попробуйте: [gumb setBackgroundImage: [UIImage imageNamed:@»whiteButton.png»] forState: UIControlUIControlStateHighlighted]; и изображение кнопки будет изменено при нажатии.
Ответ №3:
Устанавливаете ли вы состояние кнопки как selected
в действии нажатия кнопки
- (IBAction)buttonClicked:(id)sender;
{
UIButton *button = (UIButton *)sender;
if(button.tag == 0)// in your case
{
button.selected = YES;
}
// Do something
}
Надеюсь, это поможет
Комментарии:
1. Я думал, iOS позаботится об этом. У меня есть 3 кнопки, созданные в коде, поэтому, я думаю, я должен установить состояние других 2 на «выбрано = НЕТ» при нажатии на одну.
Ответ №4:
Код для настройки изображения выбранного состояния:
[_button setImage:[UIImage imageNamed:@"whiteButton.png"] forState: UIControlStateHighlighted];
Код для настройки изображения нормального состояния:
[_button setImage:[UIImage imageNamed:@"whiteButton.png"] forState: UIControlStateNormal];