如何在应用程序中禁用iOS通知中心?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在应用程序中禁用iOS通知中心?相关的知识,希望对你有一定的参考价值。
如果你有一个全屏ios应用程序,并且你想阻止通知中心被拉下来,你可以和如何?
您还可以在加载应用时屏蔽通知提醒或横幅广告吗? (我认为这是绝对不可能的,但想要以防万一。)
根据我的经验,默认情况下全屏应用程序(statusBarHidden = YES
)的通知中心行为略有不同:向下滑动以前由状态栏占据的区域只会显示一个小标签。只有滑动选项卡才会显示通知中心。到目前为止,这足以防止我意外激活。
目前,没有用于操纵通知中心行为的公共API。我认为应用程序不太可能阻止通知的出现,并且应用程序能够阻止通知中心出现的可能性稍微小一些。 iOS以开发人员自由为代价,提供一致的用户体验体验。如果我是一个无意识的用户,我可以看到被这种功能感到沮丧。
总而言之,总是存在未记录的API的黑暗面。如果你能在越狱设备上使用那些聪明,我不会感到惊讶,但这不是我的杯茶。
我刚才想出来了。我正在开发一个横向运行的游戏,每当我触摸左侧时,都会出现通知中心选项卡。要解决此问题,您需要添加以下内容:
setStatusBarOrientation:UIInterfaceOrientationLandscapeLeft
我在setStatusBarHidden之后添加了这个,并且我不再遇到通知选项卡的问题。
希望有所帮助。
iOS 11中引入了API,同时显示了通知中心(和控制中心)的行为更改,以允许您指定所需的行为。
UIViewController.preferredScreenEdgesDeferringSystemGestures
在iOS 11+中,即使状态栏被隐藏,通知中心也会在从屏幕顶部滑动时拉下来。 preferredScreenEdgesDeferringSystemGestures
允许您指定滑动屏幕边缘不应触发标准系统UI,而是提供一个拉出选项卡,用户必须再次滑动以显示系统UI。
这旨在用于用户经常滑动的游戏,其中不希望引入系统UI而不是控制游戏。对于像这样的沉浸式应用程序,您可以返回.all
以指定您不希望在您第一次滑动屏幕的任何边缘时出现任何系统UI,它应该更喜欢您的应用程序自己的手势。
请注意,这将禁用从底部滑动一次以关闭没有主页按钮的iPhone和iPad上的应用程序的功能 - 用户必须滑动两次才能关闭应用程序。
仍然无法从您的应用中完全禁用通知中心,也无法阻止在您的应用处于前台时显示通知。
我构建了一个非常简单的代码片段来以编程方式解决此问题。我的应用程序委托中有一个计时器设置,每次运行时每0.2秒运行一次,它会保持状态栏的方向移动,因此不会影响游戏。我从未在我的应用程序中体验过烦人的通知中心!唯一的问题是音量控制不断旋转,可能很烦人,但它不如通知中心烦人
int tick=0;
-(void)toggleNC
{
[[UIApplication sharedApplication] setStatusBarHidden:YES];
tick++;
if (tick==1)
{
[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeLeft];
}
if (tick==2){
[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeRight];
}
if (tick==3){
[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationPortrait];
}
if (tick==4){
[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationPortraitUpsideDown];
tick=0;
}
}
以上是关于如何在应用程序中禁用iOS通知中心?的主要内容,如果未能解决你的问题,请参考以下文章
是否可以在 iOS 7 上从我的应用程序中禁用推送通知声音?
在 iOS 设置中更改通知时,Amazon SNS 如何禁用/重新启用设备?