IOS - 当模式视图位于主视图顶部时,不会接收远程控制事件

时间:2012-02-08 20:19:29

标签: iphone ios audio

我有一个在后台播放音频的应用。当主视图是用户最后一次打开的视图时,一切正常。

但是,如果用户转到第二个视图,则遥控器事件将不再起作用。

主视图控制器是我处理远程控制事件的地方。即使主视图未对焦,我应该怎么做以便遥控器可以控制应用程序的音频?

更新:

将此代码添加到我的主视图控制器似乎可以使一切正常。

- (BOOL)canResignFirstResponder{
    return NO;
}

该代码可能有任何不良副作用吗?

1 个答案:

答案 0 :(得分:1)

我假设你有两个不同的视图控制器,一个用于主视图,一个用于模态视图。让主视图控制器将'canBecomeFirstResponder'设置为YES并且子控制器将'canBecomeFirstResponder'设置为NO可能更清晰。只要您记得打电话,请确保在应用程序退出时重新签名,否则您的代码不会产生任何不良影响。

使用:

- (BOOL)canResignFirstResponder{
    return mAppIsActive;
}
- (void)applicationWillTerminate:(UIApplication *)application
{
    mAppIsActive = false;
}

- (void)applicationWillTerminate:(UIApplication *)application
{   
    [[UIApplication sharedApplication] endReceivingRemoteControlEvents];
    [self.viewController resignFirstResponder];
}