ios segues没有导航控制器

ios segues没有导航控制器,第1张

概述我想用故事板来创建我的应用程序. 我可以找到很多关于如何使用导航或tabcontroller的信息,但我不是其中之一. 我的目标是创建一个具有不同视图但不使用导航或tabcontroller的应用程序. 我该怎么做? 在 IOS故事板中,如果您不想使用导航,那么您不能使用push segue.然后,您可以使用模态segue或自定义segue.在模态segue中,有四种转换: >覆盖垂直 >水平翻转 我想用故事板来创建我的应用程序.
我可以找到很多关于如何使用导航或tabcontroller的信息,但我不是其中之一.

我的目标是创建一个具有不同视图但不使用导航或tabcontroller的应用程序.
我该怎么做?

解决方法 在 IOS故事板中,如果您不想使用导航,那么您不能使用push segue.然后,您可以使用模态segue或自定义segue.在模态segue中,有四种转换:

>覆盖垂直
>水平翻转
>交叉溶解
>局部卷曲

然而,所有这些预定义的segue动画都不能预先形成水平滑动动画segue.如果要使用水平滑动效果,则必须使用自定义segue.你需要覆盖这样的函数:

- (voID) perform{UIVIEwController *desVIEwController = (UIVIEwController *)self.destinationVIEwController;UIVIEw *srcVIEw = [(UIVIEwController *)self.sourceVIEwController vIEw];UIVIEw *desVIEw = [desVIEwController vIEw];desVIEw.transform = srcVIEw.transform;desVIEw.bounds = srcVIEw.bounds;if(isLandscapeOrIEntation){    if(isdismiss)    {        desVIEw.center = CGPointMake(srcVIEw.center.x,srcVIEw.center.y  - srcVIEw.frame.size.height);    }    else    {        desVIEw.center = CGPointMake(srcVIEw.center.x,srcVIEw.center.y  + srcVIEw.frame.size.height);    }}else{    if(isdismiss)    {        desVIEw.center = CGPointMake(srcVIEw.center.x - srcVIEw.frame.size.wIDth,srcVIEw.center.y);    }    else    {        desVIEw.center = CGPointMake(srcVIEw.center.x + srcVIEw.frame.size.wIDth,srcVIEw.center.y);    }}UIWindow *mainWindow = [[UIApplication sharedApplication].windows objectAtIndex:0];[mainWindow addSubvIEw:desVIEw];// slIDe newVIEw over oldVIEw,then remove oldVIEw[UIVIEw animateWithDuration:0.3                 animations:^{                     desVIEw.center = CGPointMake(srcVIEw.center.x,srcVIEw.center.y);                     if(isLandscapeOrIEntation)                     {                         if(isdismiss)                         {                             srcVIEw.center = CGPointMake(srcVIEw.center.x,srcVIEw.center.y + srcVIEw.frame.size.height);                         }                         else                         {                             srcVIEw.center = CGPointMake(srcVIEw.center.x,srcVIEw.center.y - srcVIEw.frame.size.height);                         }                     }                     else                     {                         if(isdismiss)                         {                             srcVIEw.center = CGPointMake(srcVIEw.center.x + srcVIEw.frame.size.wIDth,srcVIEw.center.y);                         }                         else                         {                             srcVIEw.center = CGPointMake(srcVIEw.center.x - srcVIEw.frame.size.wIDth,srcVIEw.center.y);                         }                     }                 }                 completion:^(BOol finished){                     //[desVIEw removeFromSupervIEw];                     [self.sourceVIEwController presentModalVIEwController:desVIEwController animated:NO];                 }];}

如果您仍有问题,可以查看此帖子.它还有一个youtube视频,向您展示如何实现此自定义segue:

Create Push Segue Animation Without UINavigation Controller

总结

以上是内存溢出为你收集整理的ios segues没有导航控制器全部内容,希望文章能够帮你解决ios segues没有导航控制器所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存