1

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

- (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。它显示了仅显示几分之一秒的模态视图。仅在显示/隐藏模态视图的十分之三的情况下才会发生这种情况。

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

4

1 回答 1

1

如果我正确阅读了您的帖子,那么一个问题可能是您正在从内部消除模态视图。虽然这确实有效,但这不是 Apple 喜欢的方式。我正在推断这可能会在视图的动画被解散时弄脏。

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

以下是有关关闭模型视图的相关 Apple 文档。

于 2011-04-20T16:47:01.913 回答