Я думаю, что вместо того, чтобы вставлять previewController в [self navigationController], вместо того, что вы описали, я полагаю, что вам нужно сделать, это установить previewController в качестве подробного представления вашего UISplitViewController.
Это можно сделать так
[splitViewController setViewControllers:[NSArray arrayWithObjects:masterViewController, previewController, nil]];
Если вы хотите, чтобы панель предварительного просмотра отображалась для элемента previewController, вы можете заключить элемент previewController в UINavigationController, прежде чем установить его в качестве подробного представления в UISplitViewController, например:
UINavigationController *wrapperNavigationController = [[[UINavigationController alloc] initWithRootViewController:previewController] autorelease];
[splitViewController setViewControllers:[NSArray arrayWithObjects:masterViewController, wrapperNavigationController, nil]];
Приветствия