Я пытаюсь использовать некоторые пользовательские кнопки на устройстве iOS. И вот что я сделал: я добавил UIButton
на Storyboard и изменил его тип на Custom
. После этого я изменил изображение кнопки по умолчанию на вкладке «Attributes Inspector». Затем я использовал следующие две строки кода, чтобы установить статус кнопки:Несколько пользовательских кнопок, только один отображается корректно
- (void)viewDidLoad
{
[super viewDidLoad];
[self.button1 setImage:[UIImage imageNamed:@"unclicked.png"] forState:UIControlStateNormal];
[self.button1 setImage:[UIImage imageNamed:@"clicked.png"] forState:UIControlStateHighlighted];
}
Это прекрасно работает на симуляторе. Таким образом, я скопировал эту кнопку на раскадровке и вставлю еще два. Конечно, я удалил их ссылку на button1
и отнес их к еще двум вновь созданным выводам UIButton
в файле заголовка контроллера представления и синтезировал их в файле .m. И я прилагаю следующие строки кода выше:
...
[self.button2 setImage:[UIImage imageNamed:@"unclicked.png"] forState:UIControlStateNormal];
[self.button2 setImage:[UIImage imageNamed:@"clicked.png"] forState:UIControlStateHighlighted];
[self.button3 setImage:[UIImage imageNamed:@"unclicked.png"] forState:UIControlStateNormal];
[self.button3 setImage:[UIImage imageNamed:@"clicked.png"] forState:UIControlStateHighlighted];
...
Все кажется нормальным, на Storyboard
. Но после запуска симулятора можно отобразить только изображение button3
. Остальные два исчезли и показали только что-то вроде c..
. Как я могу заставить три кнопки вести себя правильно? Я изо всех сил старался, но ничего не добился. Может ли кто-нибудь мне помочь? Огромное спасибо.
Я бы перепрофилировал ваши связи в StoryBoard и увидел, что все подключено правильно. А затем установите точку останова и посмотрите, что происходит в коде. – geekchic
@nikhitadkslfslg Я пробовал прокомментировать весь код и просто использовал изображение по умолчанию, установленное в инспекторе, с помощью раскадровки. И только изображение кнопки «button3» отображается правильно. Я думаю, что может быть что-то не так, когда я вставляю две другие кнопки. Но я проверяю инспектора и не могу найти что-то ценное. – Dreamer
Если вы копируете и вставляете кнопки в раскадровке, убедитесь, что они не копируют соединения (это означает, что все три кнопки будут установлены на «button3») – bachonk