Я пытаюсь создать приложение для iPhone, и у меня есть основной viewController и ряд других viewController. Это потому, что это многовидовое приложение.
В файлах ViewController.h и ViewController.m я создал все свои IBActions, потому что они будут общими для всех других представлений.
Теперь в firstViewController.m я создал пользовательскую кнопку, используя следующий код:
UIButton *settingsButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
settingsButton.frame = CGRectMake(110.0, 360.0, 100.0, 30.0);
[settingsButton setTitle:@"Play" forState:UIControlStateNormal];
settingsButton.backgroundColor = [UIColor clearColor];
[settingsButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal ];
UIImage *buttonImageNormal = [UIImage imageNamed:@"setButtonNormal.png"];
UIImage *strechableButtonImageNormal = [buttonImageNormal stretchableImageWithLeftCapWidth:12 topCapHeight:0];
[settingsButton setBackgroundImage:strechableButtonImageNormal forState:UIControlStateNormal];
UIImage *buttonImagePressed = [UIImage imageNamed:@"setButtonPressed.png"];
UIImage *strechableButtonImagePressed = [buttonImagePressed stretchableImageWithLeftCapWidth:12 topCapHeight:0];
[settingsButton setBackgroundImage:strechableButtonImagePressed forState:UIControlStateHighlighted];
[settingsButton addTarget:self action:@selector(loadSettingsView) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:settingsButton];
Как видите, действие называется loadSettingsView, которое я правильно объявил во ViewController. Но это не работает, и это потому, что приведенный выше код находится в firstViewController.m, а НЕ в ViewController.m, где объявлен IBAction.
Примечание. Я переместил приведенный выше код во ViewController, и действие работает, поэтому оно не является проблемой. Проблема в том, что я не могу найти способ получить доступ к действию, объявленному в другом классе, чем тот, над которым я работаю.
Может кто-нибудь помочь мне с этим?
Большое спасибо