作者kiii210 (Johnny.T)
看板MacDev
标题Re: [问题] present too many view controllers
时间Fri Jan 10 14:46:14 2014
刚刚突然想到 公司的app也有遇到这个情况
我是present两次, Root->A->B
在A或B的ViewController都有一个返回按钮, 必须回到RootView
A没问题, 直接dismiss就好
B的话原本是用NSNotificationCenter在B viewDidDisappear时送notification给A
A再dismiss, 但是这样太不流畅
所以...
[self.presentingViewController.presentingViewController
dismissModalViewControllerAnimated:YES];
试试看这样可不可以吧XD
※ 引述《redok (火焰)》之铭言:
: 想请问各位一个程式呼叫流程的问题
: 例如: facebook ios app
: 一开始全新的用户会从主页到登入页面
: 再进入到设定资料页面
: 再从设定资料页面进入其它设定页面 ...(以此类推很多页面)
: 那这样的不就一直 present view controller 很多次造成如下的情况
: (虚线箭头表示 [presentViewController: animated: completion:])
: 主要页面---> 登入页面 ---> 设定页面1 ---> ... ---> 设定页面n -->注册完毕页面
: a b c n z
: 好不容易注册完毕後那我就要写如下的程式码回到主要页面
: 定义 x^y = [viewControllerX dismissViewController: animated: comletion:^{
: [viewControllerY dismissViewController ...]
: }];
: 写成:
: a^(b^(c^(...^(n^(z)))))
: 才会回到原本的主要页面吗? (就是 presentVC好几次後,才一次全部dismissVC)
: 这样是正常的吗?
: 我个人是比较想要写成 (即换页就dismiss该页面,再present新页面)
: 主要页面 ----> present 登入页面 ----> dismiss 登入页面
: ----> 设定页面1 ----> dismiss 设定页面1
: .........
: ----> 注册完毕页面 ----> dismiss 注册页面 (此时会到登入页面)
: 可是不知道要怎麽写? orz
: 也想请问大家都怎麽处理这种东西?
: 感恩看完那麽长的叙述,谢谢!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 1.34.110.106
1F:推 redok:可以@@ 可是这样最好是有明确的流程定义 例如:设定页就是 01/13 10:26
2F:→ redok:设定页执行完就结束 01/13 10:27
3F:→ redok:好难形容@@.. 因为设定页不一定只有一开始设定个人资料的时 01/13 10:27
4F:→ redok:後才可以设定,之後再其它页面也可能会有设定页,所以这样 01/13 10:28
5F:→ redok:的话要保持行为一致 01/13 10:28