我在按钮操作中编码,如
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.0];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:mainDelegate.window cache:NO];
[mainDelegate.window addSubview:[self.calcentryController view]];
[UIView commitAnimations];
它工作正常,但当我在calcentryController.m中使用一个动作
[self presentModalViewController:self.weeklyScoreController animated:YES];
去另一个viewcontroller,它没有任何帮助吗?
答案 0 :(得分:1)
您是否有任何理由未将presentModalViewController
用于calcentryController
?您可以将modalTransitionStyle
上的calcentryController
设置为UIModalTransitionStyleFlipHorizontal
,然后使用presentModalViewController:animated
代替手动制作动画。
这可能有用的原因是因为您的代码没有调用某些函数,例如viewWillAppear:
,viewDidAppear:
等,而presentModalViewController:animated
调用所有正确的函数来呈现新视图。< / p>
答案 1 :(得分:0)
您的weeklyScoreController
可能是零。我不知道你在哪里创建它,因为代码块没有被粘贴,但这是我看到的常见错误。
答案 2 :(得分:0)
我可能是因为您的代码位于 viewDidLoad 而不是 viewDidAppear ,符合presentModalViewController does nothing
我遇到了同样的问题。
答案 3 :(得分:0)
如果你有一个深层次的视图控制器视图子视图,那么总是尝试立即显示viewcontroller,其视图直接添加到你的iPhone应用程序的窗口。
例如我有4个级别的视图 窗口&gt; vc1的观点&gt; vc2的观点&gt; vc3的观点
所以,当我试图调用[vc3 presentModalViewController]时,它无法正常工作.. 我不得不提出vc1并且它有效。我将vc1作为app delegate的属性引用,因此能够轻松访问。
但是,我仍然没有找到真正的原因,但我可以说这对我有用。