UIModalTransitionStylePartialCurl在解雇时闪烁

时间:2010-12-22 10:39:58

标签: iphone xcode uiviewcontroller modalviewcontroller flicker

我有一个使用以下方法的视图控制器:

- (IBAction)pickLocation:(id)sender{
    SearchLocationPickerViewController *modalView = [[[SearchLocationPickerViewController alloc] init] autorelease];
    [modalView setModalTransitionStyle:UIModalTransitionStylePartialCurl];
    modalView.searchVC = self;
    [self presentModalViewController:modalView animated:YES];
}

此过渡非常精细,并按预期显示模态视图控制器。但是,当我使用以下(从模态视图控制器执行)关闭模态视图时:

- (IBAction)closeLocationPick:(id)sender{
    [self dismissModalViewControllerAnimated:YES];
}

模态视图按预期过渡,但在过渡结束时,显示屏将真正快速闪烁 SOMETIMES 。它显示刚刚显示几分之一秒的模态视图。这种情况可能只发生在显示/隐藏模态视图的十分之三中。

关于可能导致这种情况的任何想法?

1 个答案:

答案 0 :(得分:1)

如果我正确地阅读你的帖子,一个问题可能是你正在从内部解雇模态视图。虽然这确实有效,但它并不是Apple喜欢的方式。我正在推断,这可能会因视频的动画而被剔除。

您的IBAction应该在模态视图控制器父级中调用委托方法,该方法最初创建并呈现模式视图控制器。您可以在模态视图控制器中定义委托协议,并在构成presentModalViewController:view的视图控制器中采用它。

Here are the relevant Apple docs on dismissing a model view.