作者sorkayi (寻找奶昔)
看板MacDev
标题[问题] 随机切换页面功能
时间Sat Jun 30 09:39:04 2018
各位大大们好
这几天小弟有个需求
想要可以随便切换 view controller
例如我有 A B C D E
切换顺序想要可以随便切换 又不需要返回
想把 presented view controller 删掉 有什麽比较好的作法嘛
以前都是 set view controller & add sub view 上去
现在来说应该有比较文明一点的方法了吧@@?
--
/ ╲╴╴ノ\
∕ ノ ﹨
/ ● ● ミ 口苗
彡 (_人_) ミ
╲__ _ノ
∕ ""\
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.233.22.57
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/MacDev/M.1530322754.A.C58.html
1F:推 s001582000: 加到阵列随机取 06/30 09:51
阿 我的问题点是 presented view controller 有什麽方法可以不要嘛
最近发现 跳转不管是 showViewController 或是 presentViewController
都会把目前的 ViewController 压入 presented stack 中
想说有没有方法可以跳转又可以不要压入 presented stack 中的
※ 编辑: sorkayi (36.233.22.57), 06/30/2018 10:03:38
2F:推 s001582000: uinavigationcontroller的push vc 06/30 10:51
不过不是有 push 就需要 pop 嘛?
※ 编辑: sorkayi (114.46.225.242), 06/30/2018 11:55:44
3F:推 s001582000: 那就剩下uitabbar了吗 在把bar隐藏 06/30 12:00
这个方法好像也可以参考看看 改天来练习看看好了
4F:→ Esvent: 如果没有用navigationController或tabBarController的话 06/30 13:55
5F:→ Esvent: 直接切换keyWindow的rootViewController即可 06/30 13:56
6F:→ Esvent: 有用上述两种容器的话 也可以直接设定他们的stack 06/30 13:56
7F:→ Esvent: 可以参考一下 -setViewControllers:animated: 06/30 13:57
对 我一开始也都是用这个方法在做切换
想说过了这麽久 会不会有比较新的方法 没想到还是找不到
8F:→ shinrenpan: appDelegate.window.rootViewController = newVC, 不 06/30 17:35
9F:→ shinrenpan: 过在某些 iOS 版本会有记忆体问题. 06/30 17:35
这个很久以前也是这样写 偶尔会 Mem leak 的样子
後来我都 addChildView 了 实在是写的很乱 >///<
※ 编辑: sorkayi (114.46.218.116), 06/30/2018 18:21:21
10F:→ bluewind125: 在上一层的presenting 实作A B C D E的换页 06/30 20:50
11F:→ bluewind125: 先dismiss无动画 completion再present 06/30 20:52
不过我发现 UITransitionView 会一直叠加上去
看 记忆体也会一直加上去 好恐怖 不知道是不是我写法有问题就是了
※ 编辑: sorkayi (114.46.226.147), 06/30/2018 22:28:42
12F:→ shinrenpan: tabBarController或自制类似模式的ViewController 06/30 22:33