ios 两个 ViewController 跳转相关问题咨询

2020-09-15 16:48:43 +08:00
 MrLQX

使用 oc 写了两个 ViewController 界面,从 AViewController 跳转到 BViewController 使用了[self presentViewController:bVC animated:YES completion:nil]; 但是我想跳转的同时把 AViewController 销毁掉,使用[self dismissViewControllerAnimated:YES completion:nil];也无法实现,还有什么比较好的方法吗

2245 次点击
所在节点    iOS
37 条回复
MrLQX
2020-09-15 16:50:23 +08:00
Android activity 跳转只需要 finsh 就好了,因为不怎么熟悉 ios,Google 了一天,也找不到比较好的方法
xayoung
2020-09-15 16:57:15 +08:00
这样做的目的是什么?
MrLQX
2020-09-15 17:01:55 +08:00
@xayoung 登录界面有手机验证码和密码登录界面,跳转到密码登录界面的时候把手机验证码界面关闭了
Lin0936
2020-09-15 17:05:58 +08:00
push 到 B 然后把 root 替换成 B
MrLQX
2020-09-15 17:09:26 +08:00
@Lin0936 我试试
baijiahei
2020-09-15 17:25:19 +08:00
用 push 啊 present 是一些临时展示的或者临时设置界面才用这个吧
CommandZi
2020-09-15 17:33:56 +08:00
先 dismissA 再 presentB
MrLQX
2020-09-15 17:34:25 +08:00
@CommandZi 不行,这个试过了
MrLQX
2020-09-15 17:37:20 +08:00
@baijiahei 使用 NavigationController 才可以使用 push,目前我没有使用 NavigationController
EggmanQ
2020-09-15 17:41:21 +08:00
父 VC: VC
EggmanQ
2020-09-15 17:41:45 +08:00
靠, 按错了,
kera0a
2020-09-15 17:42:18 +08:00
用 push
现在 nav 的 viewControllers 里有 [root,A]
然后 nav.serViewController([root,B])

push 能自定义跳转动画,有个页面栈数组,可以随意调整
CommandZi
2020-09-15 17:42:39 +08:00
@MrLQX 肯定姿势错了,不要用 A presentB,用 A 的上一级
EggmanQ
2020-09-15 17:44:35 +08:00
连续按错, 我觉得思路可以这样

父 VC addChildVC: AVC, BVC

父 VC.view addSubView: AVC.view, BVC.view

然后可以自定义处理两个 View 的显示和动画, 数据和验证逻辑可以给到父 VC 处理
frqk
2020-09-15 17:48:33 +08:00
bVC 的实例是在 aVC 创建的话,不能在 bVC 移除 aVC 吧。
要是 aVC 和 bVC 是在某个 VC 上的话,在 bVC 里 delegate 给那个 VC 让他把 aVC 移除了应该是可以的。
codeisjobs
2020-09-15 17:49:34 +08:00
不要销毁 a 界面。等登录成功后重新设置 uiapplication 的 keywindow.rootviewcontroller 的时候再 dismiss a 界面
codeisjobs
2020-09-15 17:51:05 +08:00
如果不想在 b 界面可以返回的话,就不设置左侧返回按钮,然后设置全屏显示。
MrLQX
2020-09-15 17:53:15 +08:00
@codeisjobs 我这边 a 界面右下角有个切换按钮,点击这个按钮可以跳转到 b 界面
MrLQX
2020-09-15 17:54:37 +08:00
@codeisjobs 主要是这个按钮跳转的实现,a 跳转到 b 的时候,销毁 a
BabyYuuki
2020-09-15 17:56:16 +08:00
你在 bVC 退出的时候,用 present AViewController 界面的那个控制器调用 dismissViewControllerAnimated 方法试试呢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/707239

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX