嘿,有StackOverflow!我已经完成了我的应用程序编程,一切都运行正常 - 所以我决定,因为功能部分已经完成,我想开始处理表单。但是,我有一些代码给我带来了麻烦,我不知道为什么。我的应用程序有两个视图,我可以切换。在viewDidLoad中,我有两行代码:
[PlannerView setScrollEnabled:YES];
[PlannerView setContentSize:CGSizeMake(320, 735)];
然后,当按下按钮时,我在主视图和计划视图之间切换,如下所示:
if (isPlannerView) {
// [self setView:MainView];
[UIView transitionFromView:PlannerView
toView:MainView
duration:0.5
options:UIViewAnimationOptionTransitionFlipFromRight
completion:^(BOOL finished){
[self setView:TimerView];
}];
isPlannerView = NO;
} else {
[UIView transitionFromView:MainView
toView:PlannerView
duration:0.5
options:UIViewAnimationOptionTransitionFlipFromLeft
completion:^(BOOL finished){
}];
// [self setView:PlannerView];
isPlannerView = YES;
}
现在,当我使用hte注释的代码行(self setview)时,它会滚动而没有任何问题。但是,当我使用UIView transitionFromView时,它不再滚动。知道这里出了什么问题吗?
答案 0 :(得分:0)
transitionFromView:toView:duration:options:completion: 的文档说:
此方法仅修改视图层次结构中的视图。确实如此 不以任何方式修改应用程序的视图控制器。对于 例如,如果使用此方法更改a显示的根视图 查看控制器,您有责任更新视图 控制器适当地处理变化。
因此请确保实际调用viewDidLoad :.它还指出:
在动画期间,暂时禁用用户交互 动画的视图。 (在iOS 5之前,用户交互是 对整个应用程序禁用。)如果您希望用户能够 与观点互动,包括 选项中的UIViewAnimationOptionAllowUserInteraction常量 参数。
因此,请确保在动画完成后在视图上启用了用户交互。
completion:^(BOOL finished){
[PlannerView setUserInteractionEnabled:YES];
}];