启用个人热点下推视图和相关子视图下推。如何以程式方式停用个人热点通知?(我怎么能限制iPhone状态栏的原始大小,即使在热点上?)
我很晚才发现Personal Hotspot不只是在状态栏中添加20个点,它还扰乱了依赖于重力动画中掉落点的视图。我添加了在布局视图之前检查状态栏高度的代码。如果不是20,那么它可能是热点,所以我隐藏状态栏。这不是一个理想的解决方案,但目前为止是可行的。
- (BOOL)prefersStatusBarHidden {
if ([UIApplication sharedApplication].statusBarFrame.size.height == 20) {
NSLog(@"Status bar is 20 so returning NO for hidden");
return NO;
}
NSLog(@"Status bar is not 20 so returning YES for hidden");
return YES;
}
如果禁用状态栏,则会自动禁用热点栏
苹果的文档并没有很好地描述状态栏,特别是当你使用热点,地图,呼叫等时出现的第二行
即使有多个正在运行,也只有一个额外的行。
我不知道第三方应用程序是如何出现的,但提问者特别提到了个人热点,这是一个系统服务。
我怀疑显示器能被任何人控制,除非用户关闭服务。
你可能不得不以"艰难"的方式去做。您应该隐藏主状态栏,然后绘制自己的自定义状态栏。
BTW, Apple说不要这样做:
https://developer.apple.com/ios/human-interface-guidelines/bars/status-bars/使用系统提供的状态栏。人们希望状态栏在系统范围内保持一致。不要用自定义状态栏代替它。
这是另一种方法,但它有效。首先在项目的Info.plist中包含一个新键:
状态栏初始隐藏:是
然后,在AppDelegate中,在didFinishLaunchingWithOptions
你可以设置:
[application setStatusBarHidden:NO];
这将在启动屏幕中隐藏热点栏,然后在应用程序启动时再次显示。