UIView TransitionFromView禁用滚动

时间:2011-11-26 17:08:38

标签: iphone objective-c

嘿,有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时,它不再滚动。知道这里出了什么问题吗?

1 个答案:

答案 0 :(得分:0)

transitionFromView:toView:duration:options:completion: 的文档说:

  

此方法仅修改视图层次结构中的视图。确实如此   不以任何方式修改应用程序的视图控制器。对于   例如,如果使用此方法更改a显示的根视图   查看控制器,您有责任更新视图   控制器适当地处理变化。

因此请确保实际调用viewDidLoad :.它还指出:

  

在动画期间,暂时禁用用户交互   动画的视图。 (在iOS 5之前,用户交互是   对整个应用程序禁用。)如果您希望用户能够   与观点互动,包括   选项中的UIViewAnimationOptionAllowUserInteraction常量   参数。

因此,请确保在动画完成后在视图上启用了用户交互。

completion:^(BOOL finished){
    [PlannerView setUserInteractionEnabled:YES];
}];

来源:UIView Class Reference