【问题标题】:Changing view manually in a split-based app在基于拆分的应用程序中手动更改视图
【发布时间】:2012-07-20 00:23:09
【问题描述】:

我试图让我的应用在用户单击“提交”按钮后切换视图。

这是我目前所拥有的:

viewA.h

@property (nonatomic, retain) RootViewController *root;

viewA.m

-(void)switchToLogView{

NSLog(@"switch to log view");

UIViewController <SubstitutableDetailViewController> *detailViewController = nil;
LogDetailViewController *newDetailViewController = [[LogDetailViewController alloc] initWithNibName:@"LogDetailViewController" bundle:nil];
detailViewController = newDetailViewController;

// Update the split view controller's view controllers array.
NSArray *viewControllers = [[NSArray alloc] initWithObjects:self.navigationController, detailViewController, nil];
root.splitViewController.viewControllers = viewControllers;

// Dismiss the popover if it's present.
if (root.popoverController != nil) {
    [root.popoverController dismissPopoverAnimated:YES];
}

// Configure the new view controller's popover button (after the view has been displayed and its toolbar/navigation bar has been created).
if (root.rootPopoverButtonItem != nil) {
    [detailViewController showRootPopoverButtonItem:self.root.rootPopoverButtonItem];
}

[detailViewController release];

}

splitViewControllerpopoverControllerrootPopoverButtonItem 都在我的 RootViewController 类中声明(我从苹果示例代码开始)。

代码构建良好,但是当我调用该方法时,什么也没有发生。

【问题讨论】:

    标签: objective-c uisplitviewcontroller


    【解决方案1】:

    我最近也不得不学习如何做到这一点。我希望我的屏幕上有一个“关于”按钮,当用户单击该按钮时它会翻转到另一个视图,然后当他们单击“完成”按钮时翻转回我的原始视图。

    我认为你过于复杂了。这是我必须调出关于视图的代码。

    AboutViewController *aboutViewController = [[AboutViewController alloc] initWithNibName:@"AboutViewController" bundle:nil];
    
    aboutViewController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
    [self presentModalViewController:aboutViewController animated:YES]; //Show it!
    

    显然,别忘了在你的标题中导入它:#import &lt;AboutViewController.h&gt;

    我恢复原始视图的代码(也就是隐藏关于视图)是:[self.parentViewController dismissModalViewControllerAnimated:YES];

    【讨论】:

    • 嗯,它有点用。它提供了我想要的视图,但它没有给我菜单按钮(rootPopoverButtonItem),这是我在应用程序中导航所需要的
    • 我只是发布一个新问题
    • 我所做的是在 Xcode 中打开视图,添加一个工具栏并在工具栏上放置一个“完成”按钮。然后我将完成按钮与代码链接以关闭视图。也许你也可以这样做?
    • 这是一个可能的解决方案,但不是我想要的。不过感谢您的回答!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多