- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试实现自定义 UIActionSheet(由 ViewController 组成)我已将 View Controller 作为 subview 添加到我的 rootView 的导航 Controller
- (IBAction)ShowMenu:(id)sender
{
[self.navigationController.view addSubview:self.menuViewController.view];
[self.menuViewController setTest:YES];
[self.menuViewController viewWillAppear:YES];
}
这里 MenuViewController 有一个 tableview,它有几个选项可供选择。选择后我打开那些各自的 ViewControllers。假设我单击了 menu1,然后打开了 menu1ViewController,它工作正常。现在,当我关闭这个 viewController 时,我调用了 dismissViewController。
在 menuViewController 中,我编写了代码以通过 menuviewController 到底部进行动画处理,它工作正常。
但是 MenuView 的父级是 TestViewController,当 menuviewController 向下动画时,不会调用其中的函数 viewdidAppear。
这就是我的问题,
我正在使用此代码通过 menuViewController 将动画设置为底部
- (void) slideOut {
[UIView beginAnimations:@"removeFromSuperviewWithAnimation" context:nil];
// Set delegate and selector to remove from superview when animation completes
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(animationDidStop:finished:context:)];
// Move this view to bottom of superview
CGRect frame = self.menusheet.frame;
frame.origin = CGPointMake(0.0, self.view.bounds.size.height);
self.menusheet.frame = frame;
[UIView commitAnimations];
}
// Method called when removeFromSuperviewWithAnimation's animation completes
- (void)animationDidStop:(NSString *)animationID finished:(NSNumber *)finished context:(void *)context {
if ([animationID isEqualToString:@"removeFromSuperviewWithAnimation"]) {
[self.view removeFromSuperview];
}
}
菜单 View Controller
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
if(m_test)
{
[self slideIn];
m_test = FALSE;
}
else
{
[self slideOut];
}
}
最佳答案
恕我直言,-[UIViewController viewWillAppear]
和 -[UIViewController viewDidAppear]
只会在那些类似容器的 Controller 将被调用者添加到 View Controller 层次结构中的地方调用,就像一个导航 Controller ,一个标签栏 Controller 。
如果您只是通过在代码中调用 addSubview:
添加 View ,则不会调用它。 See also .
你可以调用 -viewWillAppear
和 -viewDidAppear
在适当的地方,以编程方式在你的代码中,在你调用 addSubview:
之前和之后有或没有动画。
关于objective-c - 未调用 ParentViewController 的 ViewWillAppear,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13836963/
场景:我有 2 个 VC - subview Controller 它有一个显示项目列表的 tableView。在表填充到我的 ParentVC 之后,我需要传递 tableView.contentS
我正在从导航 subview (ConnectionScreen) 中创建模态视图 (OnlinePeerBrowser)。我需要从模态视图的父 View 中引用方法。出于某种原因,模态视图认为它的父
我有 masterViewController 和 detailViewController。 Masterview 推送 detailView。回到 masteViewController 时,我想
我有一个带有 5 个选项卡的 tabBarController,第三个选项卡是一个导航 Controller ,其中 TableViewController 作为 Root View Controll
这是一个快速而肮脏的问题:我有一个“主” View Controller (VC),它是从使用导航 Controller 的父 VC 打开的。然后我有一个从“主”VC 打开(模式转场)的“子”VC。
当尝试访问我的 parentViewController 中的方法时,我的应用程序崩溃了。这是 StoryBoard 中的布局 MainViewController = STLMMainViewCon
我知道这个问题已经被问过好几次了,我确实阅读了关于这个主题的现有帖子,但我仍然需要帮助。 我有 2 个 UIViewControllers - 父项和子项。我使用 presentModalViewCo
一周前我对此有点摸不着头脑,现在有了更多的 Cocoa 经验,我觉得我对可能发生的事情有所了解。 我正在制作一个由 UINavigationController 驱动的应用程序。在 AppDelega
我已经实现了一个 ECSlidingViewController 的子类。 InitialViewController.h @interface InitialViewController : ECS
我有几个模态视图一直工作得“很好”,现在停止返回父 View Controller 并且“代码没有改变”。 -- 经典问题描述。 我调试了 modal view dismissing 和 parent
我有一个 ViewController,它有添加按钮,该按钮将在屏幕右侧打开 SideBarVC。如果我再次点击主 ViewController 屏幕,它应该关闭我的 SideBarVC。 我试过了
这个问题在这里已经有了答案: Passing data between view controllers (45 个答案) 关闭 8 年前。 我有 2 个 View ,ParentViewContr
关闭我的第二个 View Controller 后,我想在我的第一个 View Controller 中调用一个函数。 我现在使用的代码是这样的 firstViewController *fvc =
我不知道如何让 iOS 将事件从 childViewController 向下传递到它的 parentviewcontroller。 我的 childviewcontroller 就像一个覆盖层,它的
我有一个基于页面的应用程序,由每个 ViewController 中的 collectionViews 组成。然后我有一个 viewController 从 pageView 上的 barButton
在我的代码中,我正在执行以下操作: -(void)pushCropImageViewControllerWithDictionary:(NSDictionary *)dictionary { civc
在 ParentViewController 中,我有 [some_vc dismissViewControllerAnimated:YES completion:nil]; View
我正在尝试制作一个应用程序,第一步是创建 viewControllers 并链接它们。我知道我可以使用 Storyboard和 sueges 来做到这一点,但我想用老派的方式来做——通过编码,即 它包
(自问自答,因为我在谷歌上没有找到任何命中,但最终通过反复试验找到了解决方案) 在 iOS 5 和 6 中,Apple 添加了一些丑陋的技巧,使 InterfaceBuilder 支持“嵌入式” Vi
我有这个 Storyboard: 当我在第一个 View Controller (称为 newCourseViewController)中按下“Insegnante”按钮时,它会显示一个带有教师列表的
我是一名优秀的程序员,十分优秀!