【开发】iOS入门 - UIViewController学习笔记
iOS里面的UIViewController类似于Android里的Activity。
目前了解到除了基本的UIViewController之外,还有两个比较特别的一个是UINavigationController和UITabBarController。这两个都是用来管理其他ViewController的,他们可以嵌套使用。
简单来说,UINavigationController提供了一个VC的栈,能push/pop其他的VC;而UITabBarController就像是在同一个平面内,切换不同的VC。
跟Android的Activity不同,Activity对象的创建是Android的AMS帮忙做的,开发者对于Activity的栈的控制能力非常有限,而iOS不同,VC完全是自己创建的,灵活性非常强,而且没有Android里面上下文的概念,可以自由创建,随时push出来。
值得一提的是,在不用UINavigationController的情况下,也是可以跳转到其他VC的,这里需要用到的是presentViewController,而关闭这个VC就需要用到dismissViewController。
于是乎,关于VC切换,其实就提到了3种方法了,分别是:基于UINavigationController的push、基于UITabBarController的切换、UIViewController的present。
事实上,据说还有一种基于storyboard的跳转,然而,从iOS开发的同事那了解到storyboard这种基本上只会出现在教材和小demo上面,工程化的场景,很少涉及,所以我就先把它忽略掉啦。
关于VC的话题,就先写这些了。
【开发】iOS入门 - UIViewController学习笔记的更多相关文章
- Android NDK开发及OpenCV初步学习笔记
https://www.jianshu.com/p/c29bb20908da Android NDK开发及OpenCV初步学习笔记 Super_圣代 关注 2017.08.19 00:55* 字数 6 ...
- TypeScript 入门教程学习笔记
TypeScript 入门教程学习笔记 1. 数据类型定义 类型 实例 说明 Number let num: number = 1; 基本类型 String let myName: string = ...
- Webpack新手入门教程(学习笔记)
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; text-align: center; font: 30.0px Helvetica; color: #000000 } ...
- 【笔记目录2】【jessetalk 】ASP.NET Core快速入门_学习笔记汇总
当前标签: ASP.NET Core快速入门 共2页: 上一页 1 2 任务27:Middleware管道介绍 GASA 2019-02-12 20:07 阅读:15 评论:0 任务26:dotne ...
- 移动开发iOS&Android对比学习--异步处理
在移动开发里很多时候需要用到异步处理.Android的主线程如果等待超过一定时间的时候直接出现ANR(对不熟悉Android的朋友这里需要解释一下什么叫ANR.ANR就是Application Not ...
- MNIST机器学习入门【学习笔记】
平台信息:PC:ubuntu18.04.i5.anaconda2.cuda9.0.cudnn7.0.5.tensorflow1.10.GTX1060 作者:庄泽彬(欢迎转载,请注明作者) 说明:本文是 ...
- linux驱动开发之块设备学习笔记
我的博客主要用来存放我的学习笔记,如有侵权,请与我练习,我会立刻删除.学习参考:http://www.cnblogs.com/yuanfang/archive/2010/12/24/1916231.h ...
- cocos2dx游戏开发——微信打飞机学习笔记(三)——WelcomeScene的搭建
一.场景与层的关系: cocos2dx的框架可以说主要由导演,场景,层,精灵来构成: 1.其中导演,意如其名,就是操控整个游戏的一个单例,管理着整个游戏. 2.场景就像电影的一幕剧情,所以说,懂得如何 ...
- cocos2dx游戏开发——微信打飞机学习笔记(七)——Enemy的搭建
一.文件创建~ Enemy.h Enemy.cpp 二.How to do? 由于我是已经完成成个游戏的功能,所以我会将游戏中enemy所需要的很多功能基本上都先考虑到了,如果大家自己在做的时候也许没 ...
随机推荐
- 如何将Excel转换成Markdown表格[转]
在这篇文章中,我将告诉你如何快速的将Excel转换为markdown表格,以及如何将Google Docs,Numbers,网页中的表格或其他类似Excel的程序数据转换为Markdown表格 你可能 ...
- 基于.NET平台常用的框架整理<转载>
转载来自:http://www.cnblogs.com/hgmyz/p/5313983.html 基于.NET平台常用的框架整理 自从学习.NET以来,优雅的编程风格,极度简单的可扩展性,足够强大 ...
- docker学习构建镜像---第三章节
一.docker镜像使用 运行docker容器时,使用的镜像如果在本地不存在,docker会自动从docker镜像仓库中下载,默认是从docker hub公共镜像源下载 在这里,我们需要了解:管理和使 ...
- AJAX的简单示例:注册校验
众所周知,我们每次需要注册一个网站的用户名时,都会校验该邮箱.用户名是不是正确的格式.是不是有被使用过,密码是否符合规则,二次确认是否符合. 如果这些校验都采用form表单提交的话,会给用户带来极不好 ...
- c# word interop encrypt with password protect with password
public static void EncryptWithPassword(string unEncryptedWordPath, string password) { Word.Applicati ...
- python常见函数以及模块调用
1.常用函数区别 print: 在python3.0中print是函数,这意味着需要编写print(A )而不是print A str()和repr()的区别 >>>print st ...
- xss过滤代码
#!/usr/bin/env python # -*- coding:utf-8 -*- from bs4 import BeautifulSoup class XSSFilter(object): ...
- 纯js星级评分
@{ Layout = null;} <!DOCTYPE html> <html><head> <meta name="viewport" ...
- mysql 按类别之用一条SQL语句查询出每个班前10名学生数据
select * from 学生信息表 a where 10 > (select count(*) from 学生信息表 where 班级ID = a.班级ID and 班内名次 > a ...
- matlab程序设计
一.M文件 1.脚本文件 (1)英文字母开头命名 (2)所产生的所有变量驻留在base workspace,只要不用clear,就只有关闭MATLAB,才会被删除 2.函数文件 (1)function ...