欢迎来到代码驿站!

iOS代码

当前位置:首页 > 移动开发 > iOS代码

iOS中模态Model视图跳转和Push视图跳转的需求实现方法

时间:2020-11-30 13:23:48|栏目:iOS代码|点击:

本文给大家分享下模态Model视图跳转和Push视图跳转的需求实现。

  开前自打小广告:一键合成APP引导页,包含不同状态下的引导页操作方式,同时支持动态图片引导页和静态图片引导页以及视频引导页;GitHub地址: https://github.com/dingding3w/DHGuidePageHUD (多多Star,多多支持😊);

  (一)连续两次模态Model视图之后,然后返回首页(A -> B -> C -> A)

  ①效果图展示:

  ②核心代码展示:

/** 在C页面的DisMiss方法里面添加一下代码(iOS6.0+) */
  if ([self respondsToSelector:@selector(presentingViewController)]){
    [self.presentingViewController.presentingViewController dismissViewControllerAnimated:YES completion:nil];
  }
  else {
    [self.parentViewController.parentViewController dismissViewControllerAnimated:YES completion:nil];
  }

  (二)在模态Model推出的视图中Push下一个带导航栏的视图,然后返回首页(A -> B ->C -> A)

  ①效果图展示:

  ②核心代码展示:

/** 这里用到的核心处理办法是 */
/** 1.在A控制器模态Model推出B控制器的时候先给B控制器包装一个导航控制器 */
UINavigationController *ANavigationController = [[UINavigationController alloc] initWithRootViewController:[[BViewController alloc] init]];
[self presentViewController:ANavigationController animated:YES completion:nil];
/** 2.在B控制器遵守UINavigationControllerDelegate实现代理协议,隐藏当前控制器的导航栏 */
#pragma mark - UINavigationControllerDelegate
- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated {
  // 判断要显示的控制器是否是自身控制器
  BOOL isShowMyController = [viewController isKindOfClass:[self class]];
  [self.navigationController setNavigationBarHidden:isShowMyController animated:YES];
}
#pragma mark - Push出C控制器
[self.navigationController pushViewController:[[CViewController alloc] init] animated:YES];
/** 3.在C控制器里面可直接在返回按钮方法里DisMiss */
[self.navigationController dismissViewControllerAnimated:YES completion:nil];

上一篇:一步一步实现iOS主题皮肤切换效果

栏    目:iOS代码

下一篇:深入分析iOS应用中对于图片缓存的管理和使用

本文标题:iOS中模态Model视图跳转和Push视图跳转的需求实现方法

本文地址:http://www.codeinn.net/misctech/27899.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有