iPad拆分视图从另一个视图调用/加载

时间:2011-09-27 06:29:53

标签: objective-c ios ipad

请帮助我解决下面提到的问题。

我的问题是,是否有办法从另一个视图调用拆分视图,比如点击按钮后...?

例如,如attached pic所示,当应用启动时,它会显示第一个屏幕。

当用户点击“点击”按钮时,分割视图会打开。

用户可以执行拆分视图的所有操作,当他按下主页按钮时,他应该被带回第一个屏幕。

这可能吗??我该怎么办呢?

我是初学者。任何有关代码的帮助都将非常感谢..

PS:我曾尝试使用MGSplitView和TOSplitView,但未能实现上述问题的解决方案。

...谢谢

2 个答案:

答案 0 :(得分:3)

检查foll代码。这很容易帮助您解决问题。

   //Intialise the 2 views root and detail
    RootViewController * rootVC = [[RootViewController alloc] initWithStyle:UITableViewStylePlain];

    //To show the nav bar for root, add it into a UINavigationController
    UINavigationController * rootVCNav = [[UINavigationController alloc] initWithRootViewController:rootVC];


    DetailViewController * detailVC = [[DetailViewController alloc] initWithNibName:@"DetailView" bundle:nil];

    //initialise split view
    splitVC = [[UISplitViewController alloc] init];
    splitVC.viewControllers = [NSArray arrayWithObjects:rootVCNav,detailVC, nil];

    //Tell the split view that its delegate is the detail view.
    splitVC.delegate = detailVC;
    //tell root that the changes need to be shown on detail view.
    rootVC.detailViewController = detailVC;


    [rootVC release];
    [detailVC release];
    [rootVCNav release];

    //Here, we get the app delegate object of the project
    ProjectAppDelegate * appDel = (ProjectAppDelegate*)[[UIApplication sharedApplication] delegate];

    //get window object of the delegate
    UIWindow * window1 = [appDel window];
    //get the navigation controler of the window of app delegate.
    mainNav = [appDel rVC];

    //remove the current view from the window.
    [mainNav.view removeFromSuperview];

    //add the split view to the window
    [window1 addSubview:locSplitVC.view];

希望这可以帮助你..

此致 梅尔文

答案 1 :(得分:1)

我做这种类型,但我不会得到拆分视图

  • (无效)viewDidLoad中 { [super viewDidLoad];

    MainViewController * first = [[MainViewController alloc] initWithNibName:@“MainViewController”bundle:nil];

    UINavigationController * sec = [[UINavigationController alloc] initWithRootViewController:first];

    DetailViewController * detail = [[DetailViewController alloc] initWithNibName:@“DetailViewController”bundle:nil]; UINavigationController * detailv = [[UINavigationController alloc] initWithRootViewController:detail];

    UISplitViewController * split = [[UISplitViewController alloc] init];

    split.viewControllers = [NSArray arrayWithObjects:sec,detailv,nil];

    // split.delegate = detail;

    split.delegate = self;

    // first.detail =细节;

    appDel =(AppDelegate *)[[UIApplication sharedApplication] delegate];

    window1 = [appDel窗口];

    UINavigationController * mainNav = [[UINavigationController alloc] init];

    mainNav = [appDel nav]; [mainNav.view removeFromSuperview];

    [window1 addSubview:split.view];

    //从其笔尖加载视图后进行任何其他设置。 }