iPad: UISplitViewController без «всплывающей кнопки»?

#ios #ipad

#iOS #iPad

Вопрос:

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

Код AppDelegate

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

    splitViewController = [[MySplitViewController alloc] init];

    MasterViewController *master = [[MasterViewController alloc] init];
    PicsTableViewController *detail = [[PicsTableViewController alloc] init]; 

    //create NavigationControllers
    UINavigationController *masterNav = [[UINavigationController alloc] initWithRootViewController:master];
    UINavigationController *detailNav = [[UINavigationController alloc] initWithRootViewController:detail];

    [master release];

    splitViewController.viewControllers = [NSArray arrayWithObjects:masterNav, detailNav, nil];
    [masterNav release]; [detailNav release];
    splitViewController.delegate = detail;
    [detail release];

    [self.window addSubview:splitViewController.view];
    [self.window makeKeyAndVisible];

    return YES;
}
  

Код PicsTableViewController (делегата):

 //add button on top
- (void)splitViewController:(UISplitViewController *)svc
     willHideViewController:(UIViewController *)aViewController
          withBarButtonItem:(UIBarButtonItem*)barButtonItem
       forPopoverController:(UIPopoverController*)pc
{
    barButtonItem.title = aViewController.title;
    self.navigationItem.rightBarButtonItem = barButtonItem;
}

- (void)splitViewController:(UISplitViewController *)svc
     willShowViewController:(UIViewController *)aViewController
  invalidatingBarButtonItem:(UIBarButtonItem *)button
{
    self.navigationItem.rightBarButtonItem = nil;
}
  

Кнопка никогда не отображается, что не так с моим кодом?
Спасибо

Ответ №1:

Проверьте, что aViewController на самом деле имеет title свойство, если там нет никаких букв, то кнопка не отображается.

У меня только что была такая же проблема, и когда я жестко закодировал:

 barButtonItem.title = [NSString stringWithFormat:@"hello"];
  

кнопка появилась и сработала.

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