相关疑难解决方法(0)

用于推送UIViewController的自定义动画

我想在推送视图控制器时显示自定义动画:我希望实现像"扩展"动画这样的东西,这意味着新视图从给定的矩形扩展,让动画期间[100,100 220,380]全屏显示.

任何建议从哪里开始,分别是任何文档,教程,链接?:)


好的.我可以使用以下代码制作展开动画:

if ([coming.view superview] == nil)   
    [self.view addSubview:coming.view];
    coming.view.frame = CGRectMake(160,160,0,0);
    [UIView beginAnimations:@"frame" context:nil];
    [UIView setAnimationDuration:4];
    [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
    [coming viewWillAppear:YES];
    [going viewWillAppear:YES];
    coming.view.frame = CGRectMake(0, 0, 320, 480);
    [going viewDidDisappear:YES];
    [coming viewDidAppear:YES];
    [UIView commitAnimations];
Run Code Online (Sandbox Code Playgroud)

我的视图已正确显示,但遗憾的是导航栏未更新.有没有办法手动完成?


在示例代码中,一个函数被称为0.03秒,用于更新视图的转换.不幸的是,当推动一个时UIViewController,我无法调整视图的框架...我是吗?

iphone animation uiviewcontroller uikit uinavigationcontroller

55
推荐指数
4
解决办法
7万
查看次数

弹出视图的自定义故事板Segue?

我有我的故事板一个UINavigationController设置和我做了一个自定义赛格瑞类,你可以看到下面这我的看法之间很好地淡化(而不是一个沼泽标准推).

然而,当我点击我的导航控制器给我的那个后退按钮时,我得到一个我不想要的推动画,我想要使用那个褪色!我也不想在我的故事板中有两个段落,因为它只是变得混乱.

任何帮助非常感谢!

自定义淡入淡出:

-(void)perform
{
    __block UIViewController *sourceViewController = (UIViewController*)[self sourceViewController];
    __block UIViewController *destinationController = (UIViewController*)[self destinationViewController];

    [UIView transitionWithView:sourceViewController.navigationController.view duration:1.0 options:UIViewAnimationOptionTransitionCrossDissolve
                    animations:^
                    {
                        [sourceViewController.navigationController pushViewController:destinationController animated:NO];
                    }
                    completion:^(BOOL finished)
                    {
                        NSLog(@"Transition Completed");
                    }];
}
Run Code Online (Sandbox Code Playgroud)

编辑:

也许我应该简化.如何在UINavigationController中的两个视图控制器之间进行交叉消除淡入淡出,该视图控制器推送和弹出视图而不是标准的左右侧面动画?

谢谢.

objective-c storyboard uinavigationcontroller ipad segue

5
推荐指数
1
解决办法
1627
查看次数