Intereting Posts
Проблема с API Google Адресов в iOS 6.1? Xcode 8.1 и iOS 10.1.1 не создают Какая самая лучшая услуга мобильной аналитики для приложений iOS, в которой обновление загружается в реальном времени? Как – Запускать midi воспроизведение с использованием MusicSequence и MusicPlayer Как установить шрифт на Title of Button Objective-C Кнопка Отменить не отменяет окно ComposeMail в iOS-симуляторе язык и локаль для форматирования даты и времени на ios Подключить 2 пользователей, когда они входят в certian region в iOS Могу ли я изменить правило удаления отношения основных данных и выполнить легкую миграцию? Как повернуть UIViewController, который представлен как presentModalViewController выше UIViewController внутри UINavigationController Как скрыть TabBar в RootView ChildViewControllers Подвижность пользовательского UICollectionViewCell, по-видимому, не перерисовывается, когда ячейка повторно используется добавьте селектор программно в UIButton как проверить устройство ipad или iphone в appdelegate для xib? Местное уведомление устанавливает время по умолчанию 9:00 для пользовательского часового пояса в iOS

UIButton nil – IOS

У меня есть следующее в моей viewdidload:

//Start/Pause Button UIButton *buttonStart = [UIButton buttonWithType: UIButtonTypeCustom]; buttonStart.frame = CGRectMake(10,100,100,45); [buttonStart setBackgroundImage:[UIImage imageNamed:@"pause.png"] forState:UIControlStateNormal]; [buttonStart addTarget:self action:@selector(pausePlayButtonTouched) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview: buttonStart]; 

мой метод выбора:

  [self.buttonStart setBackgroundImage:[UIImage imageNamed:@"start.png"] forState:UIControlStateNormal]; NSLog(@"%@", self.buttonStart); 

null записывается в консоль. И, разумеется, изображение кнопки не меняется.

Что не так с моим мышлением?

btw buttonStart синтезируется и имеет собственное свойство (сохранить).

Вы используете оба self.buttonStart переменную экземпляра self.buttonStart можно получить через свойство и локальную переменную buttonStart . Удалите объявление этой кнопки из файла реализации и измените первую строку на это:

 self.buttonStart = [UIButton buttonWithType: UIButtonTypeCustom]; 

Не нужно свойство для кнопки buttonStart.Add следующим образом:

  [buttonStart addTarget:self action:@selector(pausePlayButtonTouched:) forControlEvents:UIControlEventTouchUpInside]; 

Теперь ваш выбранный метод будет:

 -(void)pausePlayButtonTouched:(id)sender { UIButton *btnPaused = sender; NSLog(@"%@", btnPaused); [btnPaused setBackgroundImage:[UIImage imageNamed:@"start.png"] forState:UIControlStateNormal]; } 

Вы назначаете self.buttonStart в любом месте? Ты имел ввиду

  self.buttonStart = [UIButton buttonWithType: UIButtonTypeCustom]; 

вместо

  UIButton *buttonStart = [UIButton buttonWithType: UIButtonTypeCustom]; 

Вы должны отбросить тег '.png' из вашего имени файла, то есть «пауза», а не «pause.png».

Насколько я вижу, уступка кнопки buttonStart отсутствует.

Вы установили self.buttonStart = buttonStart; ?

объявление UIButton * buttonStart = … будет теневым (в вашем локальном контексте) любым созданным членом, созданным с помощью @property (nonatomic, reatin) UIButton * buttonStart; (если вы используете LLVM 4.0+, ваше объявление свойства создаст «UIButton * _buttonStart» в качестве члена)