ipad UIPopoverController с UINavigationController

Как я могу создать UIPopoverController со встроенным UINavigationController, чтобы я мог перемещать представления внутри UIPopoverController влево-вправо (с панелью навигации).

ОБНОВЛЕНИЕ: я открываю такое всплывающее окно

- (void)showSettingsViewAtSenderForIPad:(id)sender
{
    if (!settingsPopoverController_) 
    {
        SettingsPopoverController *settings = [[SettingsPopoverController alloc] init];
        settings.valuesGeneratorOptions = valuesGeneratorOptions_; // setting variables

        self.settingsPopoverController_ = [[[UIPopoverController alloc] initWithContentViewController:settings] autorelease];
        [settingsPopoverController_ setDelegate:self];
        [settingsPopoverController_ setPopoverContentSize:CGSizeMake(320, 480)];

        [settings release];
    }

    if (!infoPopoverController_.popoverVisible) 
    {
        [settingsPopoverController_ presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionAny animated:NO];
    }
}

Я создал контроллер с NSTableViewController в качестве корневого контроллера в UINavigationController.

@interface SettingsPopoverController : UIViewController 
{
    ValuesGeneratorOptions *valuesGeneratorOptions;
    IBOutlet SettingsViewController *settingsViewController;
    IBOutlet UINavigationController *navigationController;
}
...
@implementation SettingsPopoverController
...
- (void)viewDidLoad
{
    self.settingsViewController.valuesGeneratorOptions = self.valuesGeneratorOptions;
    [self.view addSubview:self.navigationController.view];

    [super viewDidLoad];
}
...
end

Проблема в том, что таблица не прокручивается во всплывающем окне. Он также игнорирует стиль таблицы (initWithStyle не вызывается). Исправить?

РЕШЕНИЕ. Решение найдено: представление таблицы popOver


person xpepermint    schedule 18.04.2011    source источник


Ответы (1)


Вы создаете новый наконечник и UIViewController. Это перо, как и вид верхнего уровня, имеет простой интерфейс Jane UIView и UINavigationController. Верхний UIViewController UINavigationController - это любой контроллер представления, который вы хотите отобразить первым.

Затем вы отображаете это перо внутри своего всплывающего контроллера. В представлении, которое было загружено, вы делаете что-то вроде этого:

-(void)viewDidLoad
{
    [self.view addSubview:self.navigationController.view];
}

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

person Jiva DeVoe    schedule 18.04.2011