iphone – 左侧的PushViewController – 简单?

iphone – 左侧的PushViewController – 简单?,第1张

概述我试图让我的ViewController以与标准PushViewConrtoller相同的速度从左向右滑动,我没有使用NavBar并且不想使用Modal,是否有一种简单的方法可以做到这一点,我已经看到不同线程上的很多变化,但它们都没有正常工作! 我正在使用带有以下代码的导航控制器来实现我的推送权限…… - (IBAction)launch1990:(id)sender {UIStoryboar 我试图让我的VIEwController以与标准PushVIEwConrtoller相同的速度从左向右滑动,我没有使用Navbar并且不想使用Modal,是否有一种简单的方法可以做到这一点,我已经看到不同线程上的很多变化,但它们都没有正常工作!

我正在使用带有以下代码的导航控制器来实现我的推送权限……

- (IBAction)launch1990:(ID)sender {UIStoryboard *storyboard = [UIStoryboard storyboarDWithname:@"1990Storyboard" bundle:nil];UIVIEwController *vc = [storyboard instantiateVIEwControllerWithIDentifIEr:@"1990"];[self.navigationController pushVIEwController:vc animated:YES];}
@H_502_16@解决方法 UIStroryBoard当您按下视图控制器或segues时,它不会让您自定义太多.我最终做的是覆盖perform方法并使用QuartzCore Animations来定制我们的转换.我将UIStoryBoardSegue子类化并覆盖了执行函数.

下面为Push或Pop定制,然后为Segues定制. (对于segues,请记住将类更改为IB中的自定义类).

要从正常的d出或推动(这确实交叉淡入淡出动画,为你的调整):

#import <QuartzCore/QuartzCore.h> - (IBAction)launch1990:(ID)sender {    CATransition* Transition = [CATransition animation];    Transition.duration = .45;    Transition.timingFunction = [camediatimingFunction functionWithname:kcamediatimingFunctionEaseInEaSEOut];    Transition.type = kCATransitionFade;    [self.navigationController.vIEw.layer addAnimation:Transition forKey:kCATransition];    UIStoryboard *storyboard = [UIStoryboard storyboarDWithname:@"1990Storyboard" bundle:nil];    UIVIEwController *vc = [storyboard instantiateVIEwControllerWithIDentifIEr:@"1990"];    [self.navigationController pushVIEwController:vc animated:NO];  }

要从segue做到这一点:

//ZHCustomSegue.h#import <Foundation/Foundation.h>@interface ZHCustomSegue : UIStoryboardSegue@end//  ZHCustomSegue.m#import "ZHCustomSegue.h"#import "QuartzCore/QuartzCore.h"@implementation ZHCustomSegue-(voID)perform {    UIVIEwController *sourceVIEwController = (UIVIEwController*)[self sourceVIEwController];    UIVIEwController *destinationController = (UIVIEwController*)[self destinationVIEwController];    CATransition* Transition = [CATransition animation];    Transition.duration = .45;    Transition.timingFunction = [camediatimingFunction functionWithname:kcamediatimingFunctionEaseInEaSEOut];    Transition.type = kCATransitionFade; //kCATransitionMoveIn; //,kCATransitionPush,kCATransitionReveal,kCATransitionFade   //Transition.subtype = kCATransitionFromleft; //kCATransitionFromleft,kCATransitionFromright,kCATransitionFromtop,kCATransitionFromBottom    [sourceVIEwController.navigationController.vIEw.layer addAnimation:Transition                                                            forKey:kCATransition];    [sourceVIEwController.navigationController pushVIEwController:destinationController animated:NO];}@end
总结

以上是内存溢出为你收集整理的iphone – 左侧的PushViewController – 简单?全部内容,希望文章能够帮你解决iphone – 左侧的PushViewController – 简单?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1002567.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存