2013-03-10 4 views
0

Я положил на свой .xib-файл навигационную панель и элемент кнопки бара.Как сменить контроллер при нажатии кнопки iOS?

Я создал действие для моей кнопки, я подключил его и действие выглядит следующим образом:

- (IBAction)AddAlert:(id)sender { 

    self.addReminderViewController =[[AddReminderViewController alloc]initWithNibName:@"AddReminderViewController" bundle:nil]; 
    [self.navigationController pushViewController:addReminderViewController animated:YES]; 
} 

где AddReminderViewController является контроллером я хочу перейти.

Мой ViewController.h выглядит следующим образом:

#import <UIKit/UIKit.h> 

@class AddReminderViewController; 

@interface ViewController : UIViewController <UITableViewDelegate , UITableViewDataSource> 

@property (strong, nonatomic) AddReminderViewController *addReminderViewController; 

@property (strong,nonatomic) NSArray *listData; 

- (IBAction)AddAlert:(id)sender; 

@end 

где я объявить @class AddreminderViewController, так что я могу перемещаться там, и я синтезировать свойство на файле .m.

Однако, когда я нажимаю кнопку, ничего не происходит. Это не сбой! Он просто не перемещает меня нигде. Должен ли я вносить какие-либо изменения в AppDelegate? Что мне здесь не хватает?

+0

Вы уверены, что ваш IBAction правильно подключен к подправить внутри событий кнопки? – nsgulliver

+0

Хм, его пункт с баром, где я могу увидеть вариант, который вы говорите? В инспекторе соединений это только показывает мне, что связано с действием. – 2013-03-10 18:56:34

+0

Да, в инспекторе связи вы можете увидеть это, попробуйте изменить тип параметра 'id' на' UIBarButtonItem * 'в действии' AddAlert' – nsgulliver

ответ

1

Как вы используете self.addReminderViewController для инициализации контроллера, но позже вы используете без использования self, используя self, убедитесь, что счетчик объектов установлен правильно.

В коде

[self.navigationController pushViewController:addReminderViewController animated:YES]; 

попробуйте изменить эту строку и добавить себя с addReminderViewController, это может решить ваш вопрос

[self.navigationController pushViewController:self.addReminderViewController animated:YES]; 
Смежные вопросы