barButtonItem для splitViewController не отображается на экране? - PullRequest
0 голосов
/ 09 сентября 2011

как можно отобразить barButtonItem из SplitViewController?не создается автоматически с splitViewController?

я создал проект, предназначенный для Ipad, я поместил свой mainViewController в качестве представления контроллера, чтобы он отображался на экране в портретном режиме, и я создал другой uiviewController "RootViewController" с его tableView,

я поместил два метода:

- (void)splitViewController: (UISplitViewController*)svc willHideViewController:
- (void)splitViewController: (UISplitViewController*)svc willShowViewController:

в мой mainViewController, например:

// Called when rotating to a portrait orientation.
- (void)splitViewController: (UISplitViewController*)svc willHideViewController:(UIViewController *)aViewController withBarButtonItem:(UIBarButtonItem*)barButtonItem forPopoverController: (UIPopoverController*)pc 
{
    barButtonItem.title = @"Root List";
    NSMutableArray *items = [[toolbar items] mutableCopy];
    [items insertObject:barButtonItem atIndex:0];
    [toolbar setItems:items animated:YES];
    [items release];
    self.mainPopoverController = pc;
}

(mainPopoverC ... установлен в файле .h:

UIPopoverController * mainPopoverController;

)

но при моделировании отображается только представление mainViewController без barButtomItem.

Есть идеи?

спасибо большое

Ответы [ 2 ]

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

Попробуйте что-то подобное внутри willHideViewController:

UIBarButtonItem *menuButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Root List" style:UIBarButtonItemStyleBordered target:self action:@selector(showPopover:)];
NSMutableArray *items = [[NSMutableArray alloc] initWithArray:toolbar.items];
if ([items count]) {
    [items insertObject:menuButtonItem atIndex:0];
    [toolbar setItems:items];
}
[menuButtonItem release];
[items release];
1 голос
/ 10 сентября 2011

Если ваша панель инструментов не содержит элементов,

[toolbar items]

- ноль, поэтому ваша изменчивая копия уходит в глубокий космос ...

...