问题标签 [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.
ios7 - IOS7 中的 UINavigationBar/状态栏问题
最终编辑
(不要有一个过长的问题,需要进行最终编辑以进行澄清,如果需要,请参阅其他编辑)。
控制器设置
我有一个设置如下的应用程序:
InitialViewController(ECSlidingViewController 的子类)
主导航控制器(的子类UINavigationController
)
主主视图控制器(的子类UIViewController
)
在viewDidLoad
initialViewController 中,我将主导航控制器加载到主视图控制器作为其根。
问题
在应用程序的第一次加载时,状态栏和导航栏是分开的。
这是想要的效果。
但是,然后我使用标准方法加载模式视图控制器并关闭它:
然后关闭:
这反过来会导致主导航控制器(持有主视图控制器)错误地显示状态栏并重叠:
测试
- plist 设置设置为 YES -
View controller-based status bar appearance
- 我已经尝试将 设置
edgesForExtendedLayout
为相关的无,但没有改变。
日志记录
我试图注销一些框架以查看问题发生在哪里:
首次加载时:
主导航 VC - 视图框架 - {{0, 0}, {320, 480}}
ios - 如何防止 UINavigationBar 在 iOS 7 中覆盖视图顶部?
更新到 Xcode 5 后,我所有应用程序视图中的导航栏都向下移动了。这是一些屏幕截图,第一个显示视图被下拉时的所有内容,第二个显示所有未触及的内容。搜索栏应该从导航栏开始。
有谁知道我该如何解决这个问题?
编辑:我已经尝试过这个以前的建议:
但它会产生非常奇怪的结果。
这可能是因为我在此视图控制器下有一个“幻灯片菜单”,由于导航栏的透明度而出现。
uisearchbar - UISearchBar 与 iOS 中的状态栏重叠
我(就像这里的其他人一样)遇到了和其他人一样的状态栏重叠问题,有点扭曲,这就是为什么我提出一个关于这个的新问题。
似乎有一些机制可以让 UISearchBar 知道将它自己定位在哪里,这完全不合时宜。
jaredsinclair 在这里回答(iOS 7 状态栏回到 iPhone 应用程序中的 iOS 6 默认样式?),非常详细地解释了 Apple 工程师如何允许我们将逻辑引入我们的应用程序,以便尽可能地融入用户的环境。
我仔细检查了我的应用程序中的每个 UIViewController 并进行了最轻微的修改。
在大多数情况下,我能够使用下面的代码解决问题,我在几个 SO 答案中找到了这些代码
然而,无论我在 UINavigationBar 隐藏的特定视图中做什么,这都不起作用。
基于在 SO 中找到的解决方案,我能够通过将以下逻辑添加到这个特定的 UIViewController 来解决这个问题
这会根据状态栏的高度将 UIViewController n像素向下推。
这里显示的效果
问题是当我进入搜索字段时,UISearchBar 会在顶部自己添加一个 20px 的填充,这会抵消整个 UI。
这使我得出这样的结论,即 UISearchBar 会尝试自行调整,巧合的是,它会自行调整与状态栏高度完全相同的量。
如果我不修改位置,一旦我进入搜索字段,这个自动调整就会将 UISearchBar 整齐地对齐在状态栏下方。
我希望我已经详细说明了我的困惑,我想知道是否有人对解决方案有任何想法。
ios7 - 如何在 iOS7 中更改状态栏颜色?
如何在显示启动屏幕时更改状态栏的颜色?应用程序加载时它是黑色的,但我需要白色。
ios7 - 如何在 iOS 7 中使状态栏半透明?
在我的应用程序中,我有一些网络视图。透明状态栏不适合全屏 webview。我想让状态栏变成半透明的,就像游戏中心一样。
我注意到如果它下面有一个导航栏,状态栏会被绘制成半透明的。但我想要一个半透明的状态栏 BY ITSELF。
有没有办法做到这一点?
ios - How to execute a block of code in IOS7 not in IOS6?
Hi In past I had developed one application which supports IOS6.Now the time came to support the same app for IOS7 also. For supporting the app for IOS6 & IOS7 I increased the Y
value of each and every component by 20 pixels
.
Here I am getting the OS version by using[[[UIDevice CurrentDevice]SystemVersion] floatvalue];
method.Based on that OS version I am changing the rect
values for each and every component.
For handling the StatusbarStyle
I am using the following methods in IOS7
These methods are working fine in IOS7, But if I install the app in IOS6 the app is crashing due to the above two methods.
So now my requirement is I have to hide or not execute IOS7 related methods or changes in IOS6 Device.With the help of this Implementation I hope I can resolve the issue.
Even I used few methods to resolve this crash issue.The methods which I used are
Here while creating the ipa file deployment Target Which I had set is 6.0. Because I have to support IOS6 & IOS7.
So please help me to resolve this issue. Thanks in Advance.
ios - 未调用 preferredStatusBarStyle
我按照这个线程来覆盖-preferredStatusBarStyle
,但它没有被调用。我可以更改任何选项以启用它吗?(我在我的项目中使用 XIB。)
uiimagepickercontroller - iOS 7 状态栏中的 UIImagePickerController
在 io7 中,视图顶部的状态栏是一场噩梦。幸运的是,我设法让它工作,所以它将被放置在视图上方。我是这样做的:
现在我的状态栏在我的导航栏上方。
但是调用UIImagePickerController
的时候就不一样了。上面的代码没有任何作用。我试图这样做:
结果是:
相机上方的状态栏(显示相机拍照时)是否有机会控制?
谢谢你。
iphone - 还想用滑动状态栏实现滑动侧菜单。在 iOS 中
我有兴趣在我的应用程序中实现左侧菜单,为此我使用了 NVSlideMenuController。它工作正常。
但我想修改它。我想用 contentViewController 滑动状态栏,不想在 MenuViewController 上显示状态栏。
目前它看起来像下图
我想和下图一样
提前致谢
iphone - 无法在 iOS7 上运行 scrollsToTop
我在我最新的应用程序中以 iOS7 为目标,点击状态栏似乎不会将 tableView 或 collectionView 滚动到顶部。
我已经设置了self.tableView.scrollsToTop = true
,但仍然没有任何反应。
我知道 Apple 对 iOS7 中的状态栏进行了重大更改,但这些更改是否破坏了scrollsToTop
功能?
更新
针对其中一个答案中的评论,我进行了测试以确保我的收藏视图确实是屏幕上唯一的滚动视图,它是:
更新#2
不确定这是否重要,但我使用的是标准 iOS7 NavigationController,其中导航栏是透明的,并在我的 collection/tableViews 在下方滚动时应用模糊。
更新#3
弄清楚了。原来我在屏幕上确实有不止一个滚动视图。我的应用程序在应用程序的主要部分下方有一个左侧抽屉菜单,该菜单有一个用于选项的 tableView。我简单地设置self.menuTable.scrollsToTop = false
,并且在应用程序的其余部分中一切都按预期工作。不必实现 scrollView 委托方法或任何东西。