36 flip uiviewcontroller uiview ios
我有一个名为"LoginViewController"的登录页面.我在这个页面上有一个信息按钮.如果我点击它,我想显示一些关于我的应用程序的信息.此外,我想使用翻转动画呈现该信息页面.
创建信息按钮的代码是,
infoButton = [UIButton buttonWithType:UIButtonTypeInfoLight];
infoButton.frame = CGRectMake(285, 425, 30, 30);
infoButton.backgroundColor = [UIColor clearColor];
[infoButton addTarget:self 
            action:@selector(displayInfoView) 
            forControlEvents:UIControlEventTouchUpInside];
Run Code Online (Sandbox Code Playgroud)
如果单击"信息"按钮,displayInfoView将调用该方法.在那里我可以显示一个UIView显示一些信息.我对吗?
对于翻转动画,我使用了这段代码......
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:.8];
[UIView setAnimationTransition:([loginPageView superview] ? UIViewAnimationTransitionFlipFromLeft : UIViewAnimationTransitionFlipFromRight) 
        forView:mainView
        cache:YES]; 
if ([infoView superview]) {
    [infoView removeFromSuperview];
    [mainView addSubview:loginPageView];
}
else {
    [loginPageView removeFromSuperview];
    [mainView addSubview:infoView];
}
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(animationDidStop:finished:context:)];
[UIView commitAnimations];
Run Code Online (Sandbox Code Playgroud)
这loginPageView是包含信息按钮的登录视图.infoView是包含有关应用程序的信息的视图.mainView是持有本观点的共同观点.
现在我的问题是,我UIView可以在点击信息按钮时显示另一个视图控制器类,而不是显示一个吗?请记住,翻转动作可以正常使用UIView.但是,当我尝试使用时UIViewController,这会给你带来麻烦.
有人可以建议我如何显示一个UIViewController(在我的应用程序中,我需要显示AboutViewController),同时单击带有翻转效果的信息按钮?
Fil*_*lic 127
要翻转到视图控制器:
viewController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentViewController:viewController animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)
要翻出来:
[self dismissViewControllerAnimated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)
        Mic*_*son 21
这就是我这样做的方式:
 AboutShowViewController *aboutShowViewController = [[AboutShowViewController alloc] initWithNibName:@"AboutShowViewController" bundle:[NSBundle mainBundle]];
    [UIView beginAnimations:@"View Flip" context:nil];
    [UIView setAnimationDuration:0.80];
    [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight 
                           forView:self.navigationController.view cache:NO];
    [self.navigationController pushViewController:aboutShowViewController animated:YES];
    [UIView commitAnimations];
    [aboutShowViewController release];
Run Code Online (Sandbox Code Playgroud)
这里归功于faysar .
您对Cocoa Touch中MVC结构的理解存在根本缺陷,即视图控制器和视图具有可比性和相似性.事实是,他们不是.
回到你的具体问题,是的,动画是基于视图而不是视图控制器.但是每个视图都应该由一个视图控制器控制.这个视图属于哪个控制器的东西完全取决于你.在您的情况下,动画可能发生在具有2个不同控制器的2个视图之间,或者,它们也可能发生在同一控制器的2个视图之间.
至于代码示例,我建议你看一下Xcode的默认模板之一,即Utility Application,它以简洁和标准化的方式实现了这个点击动作动画.
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           53464 次  |  
        
|   最近记录:  |