iOS架构-UINavigationController那些事

1. UINavigationController提供的功能

  • 导航控制器提供在不同页面之间的导航功能, 包括:

    • push
    • back.
    • 统一的导航栏.
    • 导航的手势(侧滑后退)
    • 统一的工具栏

      导航控制器

  • 导航控制器维护一个堆栈结构. 一层一层.
    • 入栈操作对应push, 但是不会销毁之底部的控制器
    • 出栈操作对应back, 会销毁顶部的控制器(减少一个引用, 如果你想保留也可以)
    • back操作会很快, 因为不需要创建和加载视图.

时间: 2024-10-27 02:00:00

iOS架构-UINavigationController那些事的相关文章

IOS架构师之路:我对IOS架构的点点认识(大纲)

1.今天我鼓起了勇气,想纪录自己对IOS架构学习成长的点点滴滴. 从事IOS开发也有几年的时间,从刚開始最主要的语言.界面.逻辑,再到后面复杂点的线程.数据处理.网络请求.动画,最后到最复杂的底层音视频.图像算法.自己定义各种效果.网络底层处理.甚至是最后的性能:neon.asm优化. 感觉自己在IOS的开发中,每次都是雾里看花,明明非常接近真理却总是触摸不到.对IOS缺乏一种全局把控的感觉.所以我下定决定想看看IOS的一些官方文档,看看IOS的各个模块的层次结构究竟是怎么回事. 大约从一年前開

iOS 架构模式

iOS 架构模式-MVVM MVVM Model-View-ViewModelMVVM 其实是MVC的进化版,他将业务逻辑从VC中解耦到ViewModel,实现VC的瘦身. 做一个简单的登录判断: 创建LoginViewModel(逻辑处理),LoginModel(只放数据),LoginViewController. 这里不用LoginView是为了能更好的把精力集中在用ViewModel解耦上. 在LoginModel中加入方法 //.h - (instancetype)initWithUse

iOS 统计打点那些事

1.统计代码埋点 so easy? 统计打点是 App 开发里很重要的一个环节,App 的运行状态.改版后的效果.用户的各种行为等都需要打点,市面上也有不少可供选择的第三方库. 假设产品有这么个需求:当用户在详情页点击购买按钮时,记录一下事件.我们实现起来大概会是这样 // DetailViewController.m - (void)onBuyButtonTapped:(UIButton *)button {     // do some stuff, maybe send a request

FFmpeg for ios架构:中级

FFmpeg这部分想了非常久,也没找到比較好的解说方式.本来想像其他博客一样.对着代码一行行的分析.但后来感觉不太现实,FFmpeg应用在IOS上怎么说代码最少也有个5.6k行(包含音视频.业务逻辑),再加上由于小弟也要上班养家.所以没这么多时间写的非常具体,仅仅能做一个随笔.简而化之的就整个架构描写叙述描写叙述.只是全部这些提到的地方都是使用的核心难点.不清楚地方还请大家多多包涵,请勿拍砖.呵呵 另外除了这篇还准备写一篇FFmpeg for ios架构:高级篇.请大家多多关注. 整个代码 分为

iOS 的UINavigationController详解与使用添加UIBarButtonItem

转发自:http://blog.csdn.net/totogo2010/article/details/7681879 分类: iOS开发入门2012-06-21 11:10 53077人阅读 评论(29) 收藏 举报 uinavigationcontrolleriosapplicationactioninterfacebutton 1.UINavigationController导航控制器如何使用 UINavigationController可以翻译为导航控制器,在iOS里经常用到. 我们看看

iOS架构师之路:控制器(View Controller)瘦身设计

前言 古老的MVC架构是容易被iOS开发者理解和接受的设计模式,但是由于iOS开发的项目功能越来越负责庞大,项目代码也随之不断壮大,MVC的模糊定义导致我们的业务开发工程师很容易把大量的代码写到视图控制器中,行业中对这种控制器有个专业词汇Massive ViewControler(臃肿的视图控制器).代码臃肿导致可读性可维护性差,而且这种不清晰的设计还有许多的副作用,比如代码重用性差.作为架构师需要关注项目的代码质量.指导业务开发工程师写出高质量,高健壮性,高可用的代码也是很重要的工作.因此需要

iOS架构组件化

前言 本文简书地址:http://www.jianshu.com/p/2d89f55fc2c4 当一个App只有几个人开发的时候,很容易就会在一个单项目中开发.但当App开发人数越来越多,甚至几百人,十几个不同BU都在协调开发同一个App的时候,就必须对架构进行组件化,才能方便开发.本文主要基于手机淘宝的一次架构探索:手机淘宝客户端架构探索实践,基于此文进行的一些学习和探索,写一篇文章给自己梳理一下. 组件化的目的 首先,第一个问题,为何需要组件化? 如果依旧是单工程项目,或者是多工程引入同一个

蓝懿IOS/UINavigationController

今天刘国斌带着学习了导航栏控件, UINavigationController,UITabbarController,这两个控件有类似的地方,    UINavigationController可以翻译为导航控制器,在iOS里经常用到. UINavigationController是IOS编程中的一个view controller的容器,通过栈管理viewControllers,每一次push操作都将在栈顶添加一个view controller,然后通过pop将该栈最顶端的controller移

iOS基础-UINavigationController、界面通信

UINavigationController 导航控制器 是iOS中最常用的多视图控制器之一,它用来管理多个视图控制器 导航控制器可以认为是管理控制器的控制器,主要管理有层级关系的控制器 导航控制器以栈的方式管理所控制的视图控制器,至少要有一个被管理的视图控制器,这个控制器我们称作导航控制器的根视图控制器 出栈和入栈pushViewController:animated:进入下一个视图控制器 popViewControllerAnimated:返回上一个视图控制器 popToviewContro