问题标签 [uistatusbar]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
iphone - iOS - 状态栏随机变为纯黑色
开发 iPhone 应用程序。
我有一个非常奇怪的问题,每隔一段时间,我的应用程序屏幕顶部的状态栏就会变成纯黑色。不像状态栏的黑色版本,而是像没有文本/图标的纯黑色矩形。这种情况非常罕见,但通常似乎发生在通过多任务或从锁定设备返回应用程序后(应用程序一直在后台运行)。我已经看到它发生在 3GS 和 iPhone4 上。这是一个屏幕截图:
尝试时我永远无法重现它,它似乎最终会在某个时候发生(有时它会持续数天而不会发生)。
一旦发生,应用程序似乎继续正常运行,即使状态栏消失了,除非我在应用程序中执行一项特定操作,这将导致一切突然冻结(应用程序不会崩溃,但屏幕上的所有内容都被冻结且非交互)。在没有详细解释设计的情况下,导致它冻结(在出现错误之后)的具体操作是在后台执行简单的上传到 SQL 数据库。一旦出现黑色状态栏,重置应用程序是解决问题的唯一方法。
还有其他人经历过吗?我在任何地方都找不到解释类似行为的单个线程,这让我发疯了。
ios - setStatusBarHidden:NO 后 XIB 加载覆盖 UINavigationBar
在视图加载之前setStatusBarHidden:NO
设置时,和其他元素会立即在状态栏下方显示为应有的对齐方式。但是,在视图加载后设置时,会被部分覆盖。UINavigationBar
setStatusBarHidden:NO
UINavigationBar
加载上述视图后必须显示状态栏,但如何在不遇到上述问题的情况下做到这一点?
iphone - iphone视图和状态栏
当我将一个视图(view1)添加到另一个视图(view2)时,我发现一个错误:如果状态栏没有隐藏,添加视图(view1)后,下面的view1可以出现20像素高的空栏。如果状态栏被隐藏,这种现象就消失了。谁能帮我解决这个问题。想你!
iphone - 为 iPad 启用 UIiStatusBar,在通用 iOS 应用中为 iPhone 禁用
我有一个通用 iOS 应用程序,我希望在 iPad 上安装应用程序时显示状态栏 (UIStatusBar),但在 iPhone 上安装时不显示。
目前我的解决方案是将 app-info.plist 中的 UIStatusBarHidden 设置为 true (这会影响两个版本),然后在应用程序中重新启用它:didFinishLaunchingWithOptions: 如果设备是 iPad。这种工作,但我希望在应用程序仍在为 iPad 加载(显示默认屏幕)而不是 iPhone 时出现状态栏。
有没有办法做到这一点?(我尝试添加一个 iPad 特定的键/值 UIStatusBarHidden~ipad 但这不起作用)
ios - 状态栏仅在 UIWebView 向下滚动一点时检测到点击
我有 aUIWebView
作为 a 的根视图UINavigationController
。当一个网页完成加载时,我隐藏了导航栏,我正在寻找一种方法来显示它。现在,当用户点击状态栏时,我正在尝试这样做(这种方法在我看来比我想要的更复杂)。
为了做到这一点,首先我得到了 webView 的滚动视图:
然后我使用委托方法:
我希望这会奏效,但会发生以下情况:
- 页面加载,导航栏被隐藏(很好)
- 我尝试点击状态栏,但没有任何反应(这很糟糕)
- 我向下滚动以使 webview 离状态栏“很远”
- 在不让 webview 离开的情况下,我用另一根手指点击状态栏,它就可以工作了!(这很奇怪 :)
Soooo,对此有任何帮助吗?为什么会这样?
iphone - iPhone:带有视图布局的半透明黑色uistatusbar问题
我的状态栏有一些问题。这是一个 iPhone 应用程序,而不是一个 iPad 应用程序。我想在应用程序的任何地方都有一个黑色半透明状态栏。
我已经在应用 plist 中设置了状态栏样式。它设置为黑色半透明。
我的理解是,设置此选项后,所有视图的布局将从 0,0 而不是 0,20 开始,就像您有不透明状态栏时那样。这就是为什么 IB 为您提供选项来指定您将使用哪种状态栏的提示,以便它可以模拟它并在 IB 中正确显示它。(是的,我在 IB 中的所有视图都设置为显示黑色半透明状态栏)。布局从 0,0 开始,因此状态栏将覆盖您的视图以显示某些内容。在 IB 中它运行良好。但在我的应用程序中没有。
我的应用程序是一个基于标签栏的应用程序,只有一个视图看起来正确,即使它们都设置相同。为了让那个视图工作,我必须将背景视图图像设置为 0,-20,主视图设置为不剪辑子视图。所以看起来黑色半透明的布局不能正常工作。此外,我所有其他选项卡视图都以相同的方式设置,而不是剪辑子视图并将主背景视图设置为 0,-20。但只有在第一个选项卡中,这才真正“起作用”。
以下是一些图片:
它应该是什么样子(但仍然必须将背景设置为 0,-20):
另一个具有完全相同设置的选项卡如下所示:
为了确保它是一个没有背景的黑色半透明状态栏,我在没有背景的情况下尝试了它:
和一个替代背景(替代是纯蓝色,没有轻微的拉丝效果):
因为所有三个不起作用的示例(无背景、实际和替代)上的状态栏看起来完全相同,我假设状态栏是正确的排序,黑色半透明,但后面没有任何东西可以显示。
我的几个选项卡都有这个问题,所有在选项卡中循环通过导航控制器的视图都有这个问题。并且它们都设置为与“工作”选项卡相同,“剪辑子视图”设置为 NO,背景的原点设置为 0,-20
我认为“工作”的那个不起作用,但看起来是由于背景视图中的负偏移造成的。我认为它实际上应该设置为 0,0 并且可以工作。但是 IB 提供的主要视图的原点设置为 0,20,并且它是灰色的,所以我无法更改它。
此外,我在一个选项卡上还有另一个问题,一个设置选项卡,我使用不同的外观和感觉(更像 iPhone),黑色半透明甚至没有生效。我从一个以编程方式构建的视图开始,它显示了一个灰色的状态栏:
并深入到 nib 支持的视图,它们看起来是一样的:
并且视图的布局就像是一个灰色状态栏,向下 20 像素(在 IB 中它们被设置为黑色半透明,所以我将它们布局高 20 像素)
除了应用程序 plist 条目之外,我还尝试以编程方式设置状态栏样式,但它没有效果(在这些选项卡中的任何一个上)。
我一直在研究这个(谷歌,stackoverflow,apple.com)好几个星期了,断断续续。但没有发现我应该做什么的迹象。
ETA: wantsFullScreenLayout
解决了其中一个问题,所以我将其标记为已解决。我已经打开了一个新问题,更新了这里最初提出的两个问题之一,新的图片、描述等以及更适用的标题,因为问题不是 uistatusbar 本身。新问题是
新问题
iphone - iPhone:背景似乎仅从某些选项卡中的半透明状态栏下被剪掉
这是原始问题的延续。部分原始问题已解决,并且有了新的理解,我希望能够重述仍然存在的问题,承认已解决的问题,并提供更多信息并给出更好的标题,因为有了新的理解。
我的应用是基于标签栏的,并且有一个通过主 nib (MainWindow.xib) 创建的 UITabBarController。每个选项卡都引用一个 UINavigationController,再次通过主 nib (MainWindow.xib) 创建,每个 UINavigationController 都有一个在 nib 中创建的根视图控制器。这些 UIViewController 中的每一个都是一个自定义的 VC,它有自己的 nib、类定义等。
应用程序(在应用程序列表中)设置为具有半透明状态栏。这行得通。状态栏是半透明的。前 4 个选项卡在各自的 VC 和last 使用在其各个笔尖中选择的标准背景颜色。
半透明状态栏应覆盖背景图像,因为每个图像当前设置为全尺寸和左上角原点(320w x 480h - 最终将替换为切掉底部标签栏以提高效率和原点 0,0 )。但是,这只发生在第一个选项卡中,以及使用笔尖设置背景颜色/图案的选项卡中。
除了应用程序委托中 rootViewController 的初始设置之外,确实完成了启动方法,
任何 VC 中都没有布局代码。这一切都在笔尖中定义。(是的,我是老派)
以下是两个有效的:
在第一张图片上,您可以看到背景图片的“白色”轮廓沿着侧面继续向上并穿过状态栏的顶部。在第二个上,您可以看到背景条纹继续向上进入状态栏。
这是无法正常工作的三个选项卡之一:
你可以看到它没有让白色进入状态栏并穿过顶部。而不是蓝色的半透明黑色,它只是黑色。
这是来自 IB 的照片,表明它们的设置完全相同
根标签栏控制器:
第一个选项卡导航控制器和视图控制器(正常工作):
第二个选项卡导航控制器和视图控制器(不能正常工作):
几天来我一直在研究这个并尝试不同的东西,不知道该进一步尝试什么。一切似乎都设置相同,并且视图控制器viewDidLoad
或viewWillAppear:
方法中没有布局或视图更改代码。
如果有任何明显错误(或不那么明显),我将不胜感激。据我所知,它应该可以工作
iphone - 隐藏 UIStatusBar / 移动 UINavigationBar
我有一个基于导航的应用程序,用户可以在其中隐藏状态栏。这在默认设置中被记住。
它主要是工作,除了一个例外,如果应用程序被加载(从头开始,返回主屏幕后没有返回),当状态栏应该可见时,当它切换到不可见时,导航栏不向上移动以填满屏幕。之后切换设置可以正确地上下移动导航栏,但导航栏和屏幕顶部或状态栏之间仍然存在额外的状态栏大小的间隙。如果我返回主屏幕并重新进入应用程序,这会自行纠正。因此,我假设在切换状态栏后返回到我需要调用的应用程序时,在 uinavigationcontroller 上调用了一些方法?
我已经尝试(我认为)wantsfullscreenlayout 属性的所有组合,我在下面的方法中设置它但没有任何区别,所以我最终在笔尖中将它(在导航控制器上)设置为 NO。
这是切换状态栏的代码。这是在我的应用程序委托中,它根据模板应用程序将导航控制器和窗口设置为出口。
谢谢你的帮助。
更新
通过 NSLogging,问题似乎出在 UINavigationBar 的框架中。所以我添加了以下代码,它可以工作和动画,但我不满意!我不觉得这可能是做到这一点的“正确”方式。在大多数情况下,额外的代码什么都不做,因为帧已经在 (0,0),但在它不正确的一种情况下,这会给出正确的结果。
objective-c - 隐藏 UIStatusBar 在屏幕上留下空的蓝色条
我有一个肖像 iPhone 应用程序,它是一个隐藏的导航栏,用于控制视图之间的流动。在一个视图中,我需要将视图旋转 90 度为横向,并且我想隐藏状态栏。
问题是,虽然状态栏被正确隐藏,但它会在状态栏所在的屏幕顶部留下一个空的浅蓝色栏。我的视图实际上位于此栏下方,充满了屏幕。
我尝试过使用视图的大小,但它已经设置为屏幕的完整大小。看来这个蓝色条在我的视野之上。
难道是因为我隐藏了导航栏和状态栏?
任何帮助,非常感谢。
邓克
iphone - IOS共享应用隐藏状态栏
我用下面的代码隐藏了状态栏,它给了我一个内存警告 level1 。在内存警告期间它对应用程序本身没有任何作用,但我不喜欢发生这样的事情。我做错了什么吗?或者和骗子确认一个IOS错误?只是困扰我并不是什么大不了的事,因此非常感谢任何信息。谢谢!