- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
所以我有一个 containerView Controller,它基本上就像 splitViewController。
我正在尝试在 containerViewController 中添加一个 UINavigationController,它工作得很好。
我在 Storyboard中创建了一个 UINavigationController,其中有一堆 UIViewController 连接到它,所有这些都通过“推送”segues 连接在一起。我从 Storyboard中取出这个 NavigationController,通过代码将它粘贴到我的 ContainerViewController 中。然后它将 NavigationController 显示在它应该显示的位置,我可以单击按钮,推送动画仅在 ContainerViewController 的 NavigationController 框架内发生。
但是,如果我从我的 NavigationController 上的代码中调用 popViewController,它将为整个 ContainerViewController 设置动画。这是我不想要的,我希望它只为 NavigationController 设置动画。
有谁知道它为什么这样做?
当您在 ContainerViewController 中有一个 UINavigationController,然后您可以在 NavigationController 上弹出 ViewController 时,如何使它只对 UINavigationController 进行动画处理,而不是对它所在的整个 ContainerViewController 进行动画处理?
最佳答案
我也遇到过这个问题。它也影响了我的插入。我的解决方法是使用代码而不是 Storyboard 片段。
- (void) switchToView:(NSString *)identifier {
UIViewController *target = [self getOrCreateViewController:identifier];
[self switchToViewController:target identifier:identifier];
}
// If you need to interact with the VC before it is pushed break it into 2 step process
- (UIViewController *) getOrCreateViewController:(NSString *)identifier {
NSArray *children = [self.viewControllers filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"restorationIdentifier == %@", identifier, nil]];
UIViewController *target = (children.count > 0 ? children[0] : [self.storyboard instantiateViewControllerWithIdentifier:identifier]);
return target;
}
// For my use case, I always animate via push. Could modify this to pop/push as appropriate
- (void) switchToViewController:(UIViewController *)target identifier:(NSString *)identifier {
[self setViewControllers:[self.viewControllers filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"restorationIdentifier != %@", identifier, nil]] animated:NO];
[self pushViewController:target animated:YES];
}
我知道有点 Fugly 解决方法...希望我找到更好的答案(到这里寻找一个)。 :-)
关于ios - ContainerViewController popView 的 funky 内部的 UINavigationController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10523430/
我在 ViewController 中创建了一个带有文本字段和按钮的 popView。如果我单击按钮然后 popView 出现,我可以在文本字段中输入文本并提交工作,如果我点击 View 中的任何地方
我在 ScrollView 中有一组 uibuttons,用于导航。我已经为这些按钮添加了效果,以便在点击它们时滑动到中心并调整大小,如下所示: -(void)slideButtons:(int)se
我有两个 View Controller 。在第一个 View 中,我在 ViewDidLoad 中添加了声音并且它工作正常。当我从第二个 View Controller 导航到第一个 View Co
我有一个导航 Controller A,我在上面推送 View Controller B。我从 B 模态地呈现 View Controller C。在我关闭 C 之后,我尝试返回到 A。因此导航流程是
所以我有一个 containerView Controller,它基本上就像 splitViewController。 我正在尝试在 containerViewController 中添加一个 UIN
我是一名优秀的程序员,十分优秀!