if([delete_navigation.visibleViewController isKindOfClass:[TopicViewController class]] && [topicNotification.topic.id isEqualToString:self.otherTopicID]){//判断本身就在当前页时只需刷新即可 TopicViewController *controller=(TopicViewController *)delete_navigation.visibleViewController; controller.topicNotification=topicNotification; controller.topicId=topicNotification.topic.id; [controller refreshTopic]; }else{ TopicViewController *controller= [[TopicViewController alloc] initWithNibName:@"TopicViewController" bundle:nil]; controller.topicNotification=topicNotification; controller.topicId=topicNotification.topic.id; if([delete_navigation.topViewController isKindOfClass:[TopicViewController class]]){ NSMutableArray *navigationArray = [[NSMutableArray alloc] initWithArray: delete_navigation.viewControllers]; // [navigationArray removeAllObjects]; // This is just for remove all view controller from navigation stack. [navigationArray removeLastObject]; // You can pass your index here delete_navigation.viewControllers = navigationArray; } [delete_navigation pushViewController:controller animated:YES]; }
这是程序代码,要根据自己的情况 删除 调整
相关推荐
由于导航控制器本身已经有一个堆栈管理的视图控制器序列,`presentViewController`并不会将新控制器添加到这个序列中,而是创建一个新的层次结构,新控制器与导航控制器并行存在。 在实际应用中,你可能会遇到以下...
这种方式适用于具有导航堆栈的界面,其中每个ViewController都是堆栈的一部分。例如: ```swift let destinationViewController = storyboard?.instantiateViewController(withIdentifier: ...
将这段代码加入工程中,即可解决iOS 13.0之presentViewController模态全屏适配问题。 结论 上述两种解决方案可以解决iOS 13.0之presentViewController模态全屏适配问题。开发者可以根据实际情况选择合适的解决方案...
代理是iOS开发中最常用的数据传递方式,它遵循了面向对象设计模式中的“观察者”模式。首先,定义一个协议,该协议包含你希望在两个ViewController之间传递的属性或方法。然后,让接收值的ViewController成为发送值...
在iOS应用开发中,`presentViewController:animated:completion:` 是一个常用的方法,用于将一个新的视图控制器(UIViewController)呈现到当前的视图控制器之上。然而,通常情况下,这个方法会完全遮挡掉原先的视图...
本篇文章将深入探讨如何在iOS应用中实现"强制子ViewController为横屏"的需求,同时确保父ViewController保持竖屏状态。 首先,我们需要理解iOS设备的屏幕方向管理机制。iOS系统通过UIDevice的orientation属性和...
在iOS开发中,半透明(或称为玻璃效果)的ViewController是一种常见的设计手法,它能够为用户界面增添一种轻盈、通透的视觉感受。这种效果通常通过调整ViewController的背景或者子视图的透明度来实现,同时还可以...
ViewController.m
本篇文章将深入探讨如何在Swift中自定义`presentViewController`的转场动画,帮助开发者创建出独特且吸引人的界面过渡效果。 首先,我们需要了解`UIViewControllerTransitioningDelegate`协议。这个协议提供了...
在iOS应用开发中,创建一个类似Facebook的用户体验是常见的需求,其中包括Viewcontroller的滑动和滚动拉消失效果。这种效果允许用户通过向上滑动或滚动来渐隐当前ViewController,通常是展示详细信息或对话框时,...
本篇将详细介绍如何在两个ViewController之间利用委托协议进行值传递,以及它与Android中`onActivityResult`方法的相似之处。 首先,我们需要理解什么是委托协议。在Objective-C或Swift中,委托是一种设计模式,...
`presentViewController`和`dismissViewControllerAnimated`是iOS中的两个关键方法,用于在不同视图控制器之间进行切换,并且可以携带数据。本文将深入探讨这两个方法的工作原理、使用场景以及参数传递的方式。 ...
在iOS应用开发中,ViewController扮演了核心的角色,用于管理应用程序的视图层次结构。其核心职责包括处理用户输入、视图的展示以及数据的展示。本文将详细解释ViewController的使用方法,尤其是UITabBarController...
在iOS开发中,ViewController之间的参数传递是一个常见的需求。在Objective-C和Swift中,我们可以通过多种方式来实现这一功能,如代理(Delegate)、通知(Notification)、KVC(Key-Value Coding)、Block、闭包...
集中管理 VC 的 方法类 集中管理 VC 的 方法类集中管理 VC 的 方法类集中管理 VC 的 方法类集中管理 VC 的 方法类集中管理 VC 的 方法类集中管理 VC 的 方法类集中管理 VC 的 方法类
在iOS开发中,数据在不同ViewController间的传递是一个常见的需求,特别是在构建复杂的用户界面时。本文将详细介绍如何在两个ViewController之间实现数据的传递,主要聚焦于基本的Objective-C编程环境,适用于初学者...
滑动切换ViewController是一种在iOS应用中常见的用户界面交互方式,它允许用户通过左右滑动屏幕在不同的ViewController之间进行切换。这种设计模式常用于新闻应用、社交媒体应用和许多其他类型的App,为用户提供流畅...
从提供的文件信息中,我们可以提取出几个关键的知识点,这些知识点与iPhone应用程序开发中设计模式和组件有关,特别是关于Model-View-Controller(MVC)设计模式以及ViewController的使用。 首先,文件标题“CS193P...
本主题将深入探讨如何在实践中创建轻量级的ViewController,遵循MVC原则,以提升代码的可读性、可维护性和可扩展性。 首先,我们要理解MVC的基本概念: 1. **模型(Model)**:它是应用程序的核心,负责存储和管理...
当需要返回时,可以调用`popViewControllerAnimated:`方法,这会移除栈顶的ViewController并显示前一个。 ```swift let pickImageViewController = PickImageViewController() navigationController?....