`
wang_peng1
  • 浏览: 3942466 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ViewController 堆栈中移除最上层

 
阅读更多
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

    由于导航控制器本身已经有一个堆栈管理的视图控制器序列,`presentViewController`并不会将新控制器添加到这个序列中,而是创建一个新的层次结构,新控制器与导航控制器并行存在。 在实际应用中,你可能会遇到以下...

    两个viewcontroller的界面切换

    这种方式适用于具有导航堆栈的界面,其中每个ViewController都是堆栈的一部分。例如: ```swift let destinationViewController = storyboard?.instantiateViewController(withIdentifier: ...

    iOS之presentViewController模态全屏适配解决方案.docx

    将这段代码加入工程中,即可解决iOS 13.0之presentViewController模态全屏适配问题。 结论 上述两种解决方案可以解决iOS 13.0之presentViewController模态全屏适配问题。开发者可以根据实际情况选择合适的解决方案...

    ios实现viewcontroller切换传值的三种方法

    代理是iOS开发中最常用的数据传递方式,它遵循了面向对象设计模式中的“观察者”模式。首先,定义一个协议,该协议包含你希望在两个ViewController之间传递的属性或方法。然后,让接收值的ViewController成为发送值...

    presentViewController:如何不覆盖原先的viewController界面

    在iOS应用开发中,`presentViewController:animated:completion:` 是一个常用的方法,用于将一个新的视图控制器(UIViewController)呈现到当前的视图控制器之上。然而,通常情况下,这个方法会完全遮挡掉原先的视图...

    IOS强制子VIEWCONTROLLER为横屏

    本篇文章将深入探讨如何在iOS应用中实现"强制子ViewController为横屏"的需求,同时确保父ViewController保持竖屏状态。 首先,我们需要理解iOS设备的屏幕方向管理机制。iOS系统通过UIDevice的orientation属性和...

    半透明ViewController

    在iOS开发中,半透明(或称为玻璃效果)的ViewController是一种常见的设计手法,它能够为用户界面增添一种轻盈、通透的视觉感受。这种效果通常通过调整ViewController的背景或者子视图的透明度来实现,同时还可以...

    ViewController.m

    ViewController.m

    自定义presentViewController的转场动画(Swift)

    本篇文章将深入探讨如何在Swift中自定义`presentViewController`的转场动画,帮助开发者创建出独特且吸引人的界面过渡效果。 首先,我们需要了解`UIViewControllerTransitioningDelegate`协议。这个协议提供了...

    swift-实现类似于Facebook的滑动和滚动拉消失的Viewcontroller

    在iOS应用开发中,创建一个类似Facebook的用户体验是常见的需求,其中包括Viewcontroller的滑动和滚动拉消失效果。这种效果允许用户通过向上滑动或滚动来渐隐当前ViewController,通常是展示详细信息或对话框时,...

    使用Delegate在两个ViewController间传值

    本篇将详细介绍如何在两个ViewController之间利用委托协议进行值传递,以及它与Android中`onActivityResult`方法的相似之处。 首先,我们需要理解什么是委托协议。在Objective-C或Swift中,委托是一种设计模式,...

    iOSm界面跳转和参数传递之presentViewController与dismissViewControllerAnimated

    `presentViewController`和`dismissViewControllerAnimated`是iOS中的两个关键方法,用于在不同视图控制器之间进行切换,并且可以携带数据。本文将深入探讨这两个方法的工作原理、使用场景以及参数传递的方式。 ...

    ViewController的使用方法

    在iOS应用开发中,ViewController扮演了核心的角色,用于管理应用程序的视图层次结构。其核心职责包括处理用户输入、视图的展示以及数据的展示。本文将详细解释ViewController的使用方法,尤其是UITabBarController...

    利用delegate进行ViewController之间的参数传递

    在iOS开发中,ViewController之间的参数传递是一个常见的需求。在Objective-C和Swift中,我们可以通过多种方式来实现这一功能,如代理(Delegate)、通知(Notification)、KVC(Key-Value Coding)、Block、闭包...

    viewController管理

    集中管理 VC 的 方法类 集中管理 VC 的 方法类集中管理 VC 的 方法类集中管理 VC 的 方法类集中管理 VC 的 方法类集中管理 VC 的 方法类集中管理 VC 的 方法类集中管理 VC 的 方法类

    IOS实现在两个ViewController间传值(一)

    在iOS开发中,数据在不同ViewController间的传递是一个常见的需求,特别是在构建复杂的用户界面时。本文将详细介绍如何在两个ViewController之间实现数据的传递,主要聚焦于基本的Objective-C编程环境,适用于初学者...

    滑动切换ViewController

    滑动切换ViewController是一种在iOS应用中常见的用户界面交互方式,它允许用户通过左右滑动屏幕在不同的ViewController之间进行切换。这种设计模式常用于新闻应用、社交媒体应用和许多其他类型的App,为用户提供流畅...

    CS193P_6_ViewController

    从提供的文件信息中,我们可以提取出几个关键的知识点,这些知识点与iPhone应用程序开发中设计模式和组件有关,特别是关于Model-View-Controller(MVC)设计模式以及ViewController的使用。 首先,文件标题“CS193P...

    iOS_MVC_轻量化ViewController

    本主题将深入探讨如何在实践中创建轻量级的ViewController,遵循MVC原则,以提升代码的可读性、可维护性和可扩展性。 首先,我们要理解MVC的基本概念: 1. **模型(Model)**:它是应用程序的核心,负责存储和管理...

    iOS开发中ViewController的页面跳转和弹出模态

    当需要返回时,可以调用`popViewControllerAnimated:`方法,这会移除栈顶的ViewController并显示前一个。 ```swift let pickImageViewController = PickImageViewController() navigationController?....

Global site tag (gtag.js) - Google Analytics