UIB-кнопки не работают - PullRequest
2 голосов
/ 06 мая 2011

У меня есть код Objective-C для перехода между двумя представлениями.У меня есть код перехода.То, что я хотел бы сделать, - это перейти к просмотру при нажатии кнопки, однако, похоже, это работает только тогда, когда я генерирую кнопку с кодом, она не будет работать с кнопкой, которую я создаю в IB, и буду ссылаться на код (используя файлВладелец и т. Д.).

Вот некоторые из моих кодов:

- (void)goToTwo {
    ALPHAAppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
    [appDelegate displayView:2];
}

- (void)viewDidLoad {
    NSLog(@"load01");

    //Button Code
    UIButton *btnOne = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
    btnOne.frame = CGRectMake(40, 40, 240, 30);
    [btnOne setTitle:@"One!" forState:UIControlStateNormal];
    [btnOne addTarget:self action:@selector(goToTwo)          forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:btnOne];

    [super viewDidLoad];
}

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

Мой файл .h:

#import <UIKit/UIKit.h>


@interface View1 : UIViewController {

}

-(IBAction) goToTwo:(id)sender;

@end

Я почти уверен, что связалПравильно нажмите кнопку для функции, перетащив узел рядом с TouchUpInside к Владельцу файла, а затем щелкнув имя метода.

Есть идеи, почему кнопка сгенерированного кода работает, а кнопка IB - нет?

Заранее большое спасибо.

1 Ответ

1 голос
/ 06 мая 2011

IBAction имеет имя goToTwo: (двоеточие в конце), но метод, реализованный в файле .m и вызываемый кнопкой, созданной в коде, - goToTwo (без двоеточия в конце).

Любойизмените IBAction (и повторно подключитесь в IB) или измените реализацию метода в файле .m, чтобы соответствовать объявлению в файле .h.

...