我有一个在后台播放音频的应用。当主视图是用户最后一次打开的视图时,一切正常。
但是,如果用户转到第二个视图,则遥控器事件将不再起作用。
主视图控制器是我处理远程控制事件的地方。即使主视图未对焦,我应该怎么做以便遥控器可以控制应用程序的音频?
更新:
将此代码添加到我的主视图控制器似乎可以使一切正常。
- (BOOL)canResignFirstResponder{
return NO;
}
该代码可能有任何不良副作用吗?
答案 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];
}