0

Я хочу использовать pushViewController с UIsegmentedController, чтобы нажать на другой вид и xib. Могу ли я сделать это в xcode 4 ??? Если смогу, не могли бы вы мне помочь?Могу ли я использовать pushViewController с UISegmentedControl?

Вот несколько кодов, которые я пытаюсь. Но не сработает.

-(IBAction) segmentedControlIndexChanged:(id)sender 
{ 

    if ([sender selectedSegmentIndex] == 0) 
    { 
     BDshelveController *shelve_page = [[BDshelveController alloc] initWithNibName: @"BDshelveController" bundle:nil]; 

    } 
    else if([sender selectedSegmentIndex] == 2) 
    { 

     BDlibraryController *lib_page = [[BDlibraryController alloc] initWithNibName:@"BDlibraryController" bundle:nil]; 
     [self.navigationController pushViewController:lib_page animated:YES]; 
    } 

} 
+0

** как именно ** это не работает? – Vladimir

+0

Он не нажимал на представление BDlibraryController :( – crazyoxygen

ответ

0

да вы можете, это вещи, которые вы могли бы проверить

  • вы пропустили segmentedIndex = 1 в коде.

  • вы пропустили вызвать pushViewController при выборе сегмента = 0

  • Или это более вероятно, что self.NavigatonController равна нулю

  • Ваш сегментированный контроль не был подключен valuechange к вашему действию

Если self.navigationController равен нулю, это зависит от того, как вы инициализируете свое приложение, если ваше приложение управляется навигационной панелью, тогда этот код в вашем AppDelegate должен решить проблему ue:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 

    UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:yourRootViewController]; // <-- depends if you have storyboards, xib etc...you should this already initialized 
    [self.window addSubview:navController.view]; 
    [navController release]; // <-- depends if you have ARC 
    [self.window makeKeyAndVisible]; 
    return YES; 
} 

В противном случае, предположим, вы можете инициализировать его там, где находитесь, предоставив себя в качестве корневого контроллера.

UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:self]; 
+0

Я не копировал весь код.sry для этого. Теперь я знаю, что self.NavigationController (null). Должен ли я код UINavigationController * navigationController = [[UINavigationController alloc] init ]; первый ?? – crazyoxygen

Смежные вопросы