UISplitview не выровнен по верху - PullRequest
       26

UISplitview не выровнен по верху

0 голосов
/ 01 сентября 2011

У меня есть проблема, которую я не могу понять, я сделал приложение, которое использует UIsplitview внутри панели вкладок. Однако я реализовывал различные вкладки, когда работаю над первой вкладкой - UIsplitview не выровнен в ландшафтном режиме. Ребята, есть ли у вас какие-либо предложения - если я начну с портрета, а потом с альбомом, тогда вообще никаких проблем.

enter image description here

Обновление: Я нигде не делаю инициализацию с фреймами, и я проверил размеры и т.д. в IB. Ниже показано, как добавить контроллер uisplitview в делегат приложения. Это было сделано так, потому что я хотел splitview в контроллере вкладок. Когда я добавил spilview, я просто установил основной и подробный вид в IB. Немного загадки.

if (index == 2) {

        detailViewController = [[DetailUserCreatorViewController alloc] initWithNibName:@"DetailUserCreatorView" bundle:nil];

        userContent=[[UserContentForPopViewController alloc]init];

        userContent.userDetails=detailViewController;

        detailViewController.delegate=userContent;

        //rootViewController.navigationItem.title = @"List";
        UINavigationController *nav = [[[UINavigationController alloc] initWithRootViewController:userContent] autorelease];

        splitViewController = [[UISplitViewController alloc] init];
        splitViewController.tabBarItem = controller.tabBarItem;
        splitViewController.viewControllers = [NSArray arrayWithObjects:nav, detailViewController, nil];

        splitViewController.delegate = detailViewController;

        [controllers replaceObjectAtIndex:index withObject:splitViewController];
    }

Обновление: я пытался установить выбранную вкладку в приложении didfinishlaunch в делегате приложения - self.tabBarController.selectedIndex = 0; и это заставило вкладку начать в правильном размещении. Однако это не кажется правильным решением.

1 Ответ

0 голосов
/ 02 сентября 2011

Некоторые указатели ... необходимо добавить splitViewController в качестве подпредставления окна:

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

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

return YES;
}

Следующий код неверен.Вы не должны назначать viewController делегату.

splitViewController.delegate = detailViewController;

Вам также не потребуется эта строка кода:

[controllers replaceObjectAtIndex:index withObject:splitViewController];

Следующая строка обрабатывает эту часть назначения делегатов.

splitViewController.viewControllers = [NSArray arrayWithObjects:nav, detailViewController, nil];

Кроме того, если вы сможете загрузить свой код, я постараюсь исправить его и выслать причину и исправленный код ...

...