UINavigationController сталкивается с некоторыми проблемами - PullRequest
0 голосов
/ 02 сентября 2011

У меня есть класс контроллера UIView, где я программно создал UINAvigationController

- (void)viewDidLoad 
  {
[super viewDidLoad];
self.title = @"Hmm";


navigationController = [[UINavigationController alloc] init];
//without this instruction, the tableView appears blocked
navigationController.view.frame = CGRectMake(0, 0, 768, 1004); // <-- nav controller should fill the screen
navigationController.navigationBar.barStyle = UIBarStyleDefault;
navigationController.title = @"Hello";
[navigationController.navigationBar setHidden:NO];
[self.view addSubview:navigationController.view];

CGRect frame = CGRectMake(100, 70, 200, 50);
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
button.frame = frame;
[button setTitle:@"Bejoy" forState:UIControlStateNormal];
[button addTarget:self action:@selector(myButtonClick:) forControlEvents:(UIControlEvents)UIControlEventTouchDown];
[self.view addSubview:button];

    }

Теперь в событии нажатия кнопки

-  (void)myButtonClick:(id)sender {
SAPRetailExCustomerSalesOrderDetailViewTVC *customerSalesOrderDetailViewTVC = [[SAPRetailExCustomerSalesOrderDetailViewTVC alloc] initWithNibName:@"SAPRetailExCustomerSalesOrderDetailViewTVC" bundle:nil];
[navigationController pushViewController:customerSalesOrderDetailViewTVC animated:YES];
[customerSalesOrderDetailViewTVC release]; 
            }

Здесь в выводе вид перемещается, но кнопкаостается на мой взгляд !!!Также я должен дважды щелкнуть, чтобы получить кнопку возврата в моем NavigationController.Это потому, что у меня нет названия для моей панели навигации.Как мне установить название здесь?Может кто-нибудь мне помочь ??

1 Ответ

1 голос
/ 02 сентября 2011

Ваш UIViewcontroller должен быть дочерним элементом контроллера навигации, а не наоборот. Ваш UIViewController не несет ответственности за свой собственный контроллер навигации.

Используйте UINavigationController -initWithRootViewController: где вы создаете свой объект UIViewController и добавляете представление контроллера навигации в окно.

То, что вы делаете, неправильно: вы добавляете представление контроллера навигации к представлению контроллера представления!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...