#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"];
кнопка появилась и сработала.
Я думаю, что у ссылочной навигации нет заголовка, вот почему она не работает.