以编程方式切换视图

时间:2012-08-23 13:25:34

标签: ios cocoa-touch

这个问题已被多次发布,但是,我找不到我的方式有什么问题。我只想以编程方式推送UIView

    UINavigationController *navController = self.navigationController;


    [navController popViewControllerAnimated:YES];

    WebViewDisplayer *webViewDisplayer = [[WebViewDisplayer alloc] init];
    webViewDisplayer.view.backgroundColor=[UIColor redColor];
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration: 0.65];
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:navController.view cache:YES];
    [navController pushViewController:webViewDisplayer animated:YES];
    [UIView commitAnimations];

我有一个名为UIViewController的{​​{1}}我希望在代码中转移到它,但似乎我的代码没有响应转换。 Thanx提前帮助。

2 个答案:

答案 0 :(得分:1)

替换

[navController pushViewController:webViewDisplayer animated:YES];

[navController pushViewController:webViewDisplayer animated:NO];

答案 1 :(得分:1)

对于UIViewController子类来说,这似乎不是一个合适的初始化方法。如果您使用的是笔尖,则可能无法加载。使用 - initWithNibName:bundle:

此外,不推荐使用这些动画调用。改为使用基于UIView块的动画。

另一方面,如果你只是想推送一个视图,你应该删除那些动画,因为它不是你想要在这里完成的。