Как я могу установить фоновое изображение нескольких кнопок в определенном виде из другого вида? - PullRequest
0 голосов
/ 07 августа 2011

В принципе, я не могу понять, как изменить фоновое изображение.Я искал и искал и просто не могу найти его.У кого-нибудь есть идеи?Спасибо!

Обновление

Вот код, который я использую для отображения вида: SettingsViewController * settingsView = [[SettingsViewController alloc] initWithNibName: nil bundle: nil];[self presentModalViewController: settingsView animated: YES];

Если кому-то понадобится что-то еще, чтобы помочь, я сделаю все возможное!Спасибо!

Ответы [ 2 ]

1 голос
/ 07 августа 2011

Передача сообщений между различными представлениями может быть сделана прямым вызовом методов (не очень хорошее архитектурное решение, но, возможно, не критично для небольших проектов) или моделью, управляемой событиями, как описано в ответе выше. Что касается связывания коллекции объектов и последующей обработки, я рекомендую просмотреть ключевое слово IBOutletCollection, которое позволяет связывать несколько объектов из InterfaceBuilder со свойством с типом, подобным NSArray.

Объявление свойства будет выглядеть следующим образом:

@property (nonatomic, retain) IBOutletCollection(UIButton) NSArray *buttons;

Код для изменения фона для всех кнопок будет выглядеть следующим образом:

UIImage *backgroundImage = [UIImage imageNamed:@"background.png"];
for(UIButton *button in buttons) {
    [button setBackgroundImage:backgroundImage forState:UIControlStateNormal];
}
0 голосов
/ 07 августа 2011

Вы используете setBackgroundImage:forState: для установки изображения.

Относительно различных представлений, это зависит от того, как вы написали свой код. Если представление с кнопками управляется другим представлением (путем создания экземпляра и использования addSubview:), вы можете вызвать его напрямую, используя instanceName.buttonName (при условии, что вы объявили его как свойство -thanks fichek).

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

Если ни один из этих вариантов не работает, вы всегда можете использовать NSNotificationCenter.

...