【开发】iOS入门 - UIViewController学习笔记

时间:2023-03-09 22:12:31
【开发】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的话题,就先写这些了。