ios4 sdk ipad - Можем ли мы поместить два ВИДА в окно? - PullRequest
0 голосов
/ 02 ноября 2010

Я хочу разместить два представления рядом, как они сделали в приложении MAIL для ipad. Возможно ли это с UINavigationController?

Я хотел бы разместить два UINavigationController рядом

Не беспокойтесь о синтаксисе, я просто хочу знать, возможно ли это

UINavigationConroller *left;  
UINavigationController *right;  

[WIndow addSubView: left];  
[WIndow addSubView:right];  

1 Ответ

1 голос
/ 02 ноября 2010

UIWindow наследует непосредственно от UIView, поэтому к нему можно добавить несколько объектов, хотя, если вы добавите несколько контроллеров представления, только один из них получит события поворота.

Правильный способ сделать ПочтуТип представления должен использовать UISplitViewController, который автоматически обрабатывает переход между двумя представлениями и одним режимом представления.Шаблон XCode для приложения на основе «Split View» даже настроит вас так, чтобы у вас была кнопка для просмотра левого табличного представления как UIPopoverController, если вы находитесь в портретном режиме.

РЕДАКТИРОВАТЬ: пример кода, сконтроллер разделенного вида:

// a tiny little method to vend a new navigation controller; following Cocoa patterns, because it
// has 'new' in the name it vends an owning reference (ie, not autoreleased, retain count +1)
- (UINavigationController *)newController
{
    UITabBarController *tabBar = [[UITabBarController alloc] init];
    UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:tabBar];
    [tabBar release];

    return navController;
}

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

    // Override point for customization after application launch.

    // generate a split view controller
    UISplitViewController *splitView = [[UISplitViewController alloc] init];

    // grab a couple of navigation controllers
    UINavigationController *navController1 = [self newController];
    UINavigationController *navController2 = [self newController];

    // add the navigation controllers to the split view controller
    splitView.viewControllers = [NSArray arrayWithObjects:navController1, navController2, nil];
    [navController1 release];
    [navController2 release];

    // and put the whole thing on screen
    [window addSubview:splitView.view];
    [window makeKeyAndVisible];

    return YES;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...