2009-10-02 2 views
2

У меня есть UIButton (custom, with image), установленный в IB, который является IBOutlet в моем коде.UIButton с изображением, потерявшим свое новое изображение

В моем методе viewDidLoad в ViewController, я пытаюсь изменить существующий образ UIButton

UIImage *newbuttonimage = [UIImage imageNamed:@"newbuttonimage.png"]; 
testbutton.imageView.image = newbuttonimage; 

OK, который работает при запуске приложения, но всякий раз, когда вы взаимодействуете с кнопкой (нажмите ее) , он изменяется на исходное изображение (устанавливается в IB). Нет никакого другого кода для изменения изображений во всем проекте, так что происходит?

Кстати, когда я помещаю вышеуказанный код в любую другую часть моего проекта, он не меняет изображение.

ответ

9

Вы должны попытаться использовать setImage:forState вместо назначения изображения напрямую; есть несколько состояний UIButton и, если они не установлены должным образом, могут давать нежелательные поведения (похожие на те, которые вы видите).

+0

спасибо, я забыл об этом – cannyboy

0

Doh! Я должен был использовать этот код вместо этого:

UIImage *newbuttonimage = [UIImage imageNamed:@"newbuttonimage.png"]; 
[testbutton setImage:newbuttonimage forState:UIControlStateNormal]; 
Смежные вопросы