首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PopViewController不起作用

PopViewController不起作用
EN

Stack Overflow用户
提问于 2012-08-09 07:34:21
回答 1查看 792关注 0票数 1

我是iOS编程新手,我花了太多的时间在应该相对容易实现的事情上。这当然是初学者的问题,但我似乎找不到答案。

我目前正在开发一个iOS VoIP应用程序。在这个阶段,无论何时设置呼叫,系统都会切换到"CallingViewController“。每当调用断开时,视图就会消失(pop)。

我的等级:

  • 窗户

代码语言:javascript
复制
- navigationController : UINavigationController (window.rootViewController) 
    - AppController : UIViewController (navigationController.rootView) 
        - TabBarController : UITabBarController 
            - DialerViewController : UIViewController

代码语言:javascript
复制
        - LoginViewController : UIViewController
        - CallingViewController : UIViewController

我认为AppController是基于所有VoIP相关编码触发的状态和事件加载和隐藏视图的类。

例如,在AppController中,我使用[self.navigationController pushViewController:tabBarController animated:YES];。推送控制器似乎不会引起任何问题,一切都像预期的那样工作。

推送tabBarController会使DialerView获得焦点(目前它是te选项卡中唯一的视图,稍后它将包含:拨号、设置、联系人、调用历史记录)。用户输入一个数字并按"VoIP调用“。通过回调(voiplibrary>OnCallStateChange ->最终AppController.OnCallStateChange),系统可以确定呼叫状态(callId)已更改为“设置”,并将推动(在AppController中) [self.navigationController pushViewController:CallingViewController animated:YES];

通过相同的回调函数,系统还将确定调用已经结束。然而,使用popViewController或任何变体,它都不起作用。ViewController保持在顶端。我开始使用NSLog进行日志记录,结果显示为CallingView: loads、威尔出现、未出现和将消失。然而,DidDisappear不会被调用。该系统还确定呼叫被终止,再次通过NSLog进行检查。因此,不管我使用什么代码来摆脱CallingViewController,都会执行(似乎),但是视图不会改变。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-09 08:12:08

我不能说这是否是你问题的原因,但根据文档

代码语言:javascript
复制
pushViewController:animated:

方法

此对象不能是选项卡条控制器的实例,而且它不能已经在导航堆栈上。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11878711

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档