我正在尝试将我的iOS 7应用程序转换为Xcode 6 GM中的iOS 8,当我在iOS 5或更低版本的iOS 8上运行它时,一切都很好,但在iPhone 6和6 Plus模拟器上,状态栏有黑色文字而不是白色,就像它随处可见.我通过Xcode将Info.plist UIStatusBarStyle设置为"透明黑色样式(alpha of 0.5)",这似乎在其他地方都有所需的效果.有什么想法发生了什么?
(我还没有触及任何故事板,它可能是什么东西吗?我希望我能把它关掉一段时间:)
我想在某些控制器上显示和隐藏状态栏.可以这样做,还是更多的整体应用程序设置.
我看过很多有关plist更新的帖子/问题:
View controller-based status bar appearance - NO
Run Code Online (Sandbox Code Playgroud)
如果完成,那么给出什么控制?
我希望在应用程序的主屏幕上显示状态栏.但是例如在侧面(幻灯片)菜单上我希望它不显示,这可能吗?可以在IB或代码中更改吗?
编辑 - 我正在使用https://github.com/edgecase/ECSlidingViewController实现.
主控制器(显示第一页)应显示状态栏,但左侧菜单控制器不应显示.
我认为问题在于它们都位于同一个根控制器(滑动视图控制器)内,因此很难完成.
理想情况下,如果主屏幕(主页面)可以使用状态栏,当它滑动时看起来最好.
我想弄清楚状态栏中的加载圈动画是什么.很多应用程序在加载数据时,状态栏中都有一个微调器来指示应用程序正在加载数据,但我无法弄清楚它实现了什么.有人能告诉我它叫什么吗?
如果您不知道我在说什么,但有iOS设备,请尝试在Safari中加载网页并查看状态栏中的微调器.我正是这个意思.
这是我拍摄的截图
.
考虑一个视图控制器,当单击按钮时需要滑出(或隐藏)状态栏.
- (void) buttonClick:(id)sender
{
[[UIApplication sharedApplication] setStatusBarHidden:YES
withAnimation:UIStatusBarAnimationSlide];
}
Run Code Online (Sandbox Code Playgroud)
上面有效地隐藏了状态栏,但没有适当调整根视图的大小,在顶部留下20像素的间隙.
我期望的是根视图扩展到以前状态栏使用的空间(动画,持续时间与状态栏动画相同).
这样做的正确方法是什么?
(我知道有很多类似的问题,但我找不到任何关于按需隐藏状态栏而不是隐藏它以显示新的视图控制器)
显然,以下作品......
[[UIApplication sharedApplication] setStatusBarHidden:YES
withAnimation:UIStatusBarAnimationSlide];
[UIView animateWithDuration:0.25 animations:^{
CGRect frame = self.view.frame;
frame.origin.y -= 20;
frame.size.height += 20;
self.view.frame = frame;
}];
Run Code Online (Sandbox Code Playgroud)
......但有缺点:
UIViewAutoresizingFlexibleTopMargin和UIViewAutoresizingFlexibleHeight.[self.view setNeedsLayout]隐藏状态栏后调用.[self.view setNeedsDisplay]隐藏状态栏后调用.wantsFullScreenLayout为YES隐藏状态栏之前和之后.我试图隐藏状态栏但保持"更大"的导航栏高度.现在,当我通过设置然后调用- (BOOL)prefersStatusBarHidden来隐藏状态栏时.这样做的问题是导航栏会向上滑动,不会为我试图显示的通知留出空间.只是在状态栏上添加视图不是一个选项,我们的状态栏/导航具有花哨的模糊效果.有没有人知道如何使用状态栏高度维护标准导航栏高度并从中删除状态栏?YES[self setNeedsStatusBarAppearanceUpdate];
编辑; 我最终做的是冒险并通过私有API获取状态栏的UIWindow并抵消它.
编辑2; 应用程序已获得私有API批准.但要小心!
我想在应用程序运行时在状态栏中放置一个图标,包括它在后台运行时.我怎样才能做到这一点?
我刚刚从TinyMCE3迁移到TinyMCE4,我想知道如何删除状态栏中的路径.但我想保留我的状态栏以获得调整大小的功能.
使用TinyMCE3,我们可以做到:
tinymce.init({
...
theme_advanced_path : false
});
Run Code Online (Sandbox Code Playgroud)
如何使用TinyMCE4获得相同的结果?
谢谢
我在我的最新应用程序中瞄准iOS7,并且点击状态栏似乎不会将tableView或collectionView滚动到顶部.
我已经设定self.tableView.scrollsToTop = true,但仍然没有任何反应.
我知道Apple显着改变了iOS7中的状态栏,但这些更改是否会破坏scrollsToTop功能?
更新
为了回应其中一个答案中的评论,我测试了以确保我的集合视图确实是屏幕上唯一的scrollView,它是:
(lldb) po [self.view recursiveDescription]
<UIView: 0x1092ddf0; frame = (0 0; 320 568); autoresize = W+H; layer = <CALayer: 0x109357e0>>
| <UICollectionView: 0x11351800; frame = (0 0; 320 568); clipsToBounds = YES; opaque = NO; autoresize = W+H; gestureRecognizers = <NSArray: 0x10966080>; layer = <CALayer: 0x109623a0>; contentOffset: {0, -64}> collection view layout: <UICollectionViewFlowLayout: 0x10940a70>
| | <UIImageView: 0x10965fa0; frame = (0 564.5; 320 3.5); alpha = 0; opaque = NO; …Run Code Online (Sandbox Code Playgroud) 如何隐藏此<以编程方式从状态栏返回Safari?

我正在我的应用程序中获取它 - 因为如果用户想要使用他们的Facebook帐户登录,我将从我的应用程序中退出.
这是我不喜欢(想要)在我的应用程序中"返回Safari"的场景.
我(就像其他人一样)遇到了与其他人一样的状态栏重叠问题,有点麻烦,这就是为什么我打开一个关于此的新问题.
似乎有一些机制让UISearchBar知道在哪里定位它自己,这完全没有问题.
jaredsinclair在这里回答(iOS 7状态栏在iPhone应用程序中回到iOS 6默认风格?),详细解释了Apple Engineers如何允许我们为我们的应用程序引入逻辑,以便尽可能地融入用户的环境.
我仔细检查了我的应用程序中的每个UIViewController并进行了最轻微的修改.
在大多数情况下,我能够使用下面的代码来解决问题
// Do any additional setup after loading the view.
if ([self respondsToSelector:@selector(edgesForExtendedLayout)]){
self.edgesForExtendedLayout = UIRectEdgeNone;
}
Run Code Online (Sandbox Code Playgroud)
然而,无论我在隐藏UINavigationBar的特定视图中做什么,这都不会起作用.

基于SO中找到的解决方案,我能够通过向这个特定的UIViewController添加以下逻辑来解决这个问题
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0) {
CGRect statusBarFrame = [[UIApplication sharedApplication] statusBarFrame];
viewFrame.origin.y = viewFrame.origin.y+statusBarFrame.size.height;
}
Run Code Online (Sandbox Code Playgroud)
这会将UIViewController的n个像素向下推"取决于"状态栏的高度.
这里显示了这种效果

问题是,当我进入搜索字段时,UISearchBar会在顶部添加一个20px的填充,从而抵消整个UI.

这让我得出结论,UISearchBar试图调整自己,巧合的是它调整自己与状态栏高度完全相同的数量.
如果我没有破解该位置,一旦我进入搜索字段,则此自动调整将UISearchBar整齐地对齐在状态栏下方.
我希望我已经详细说明了我的困惑,我想知道是否有人对解决方案有任何想法.
uistatusbar ×10
ios ×6
statusbar ×5
ios7 ×4
iphone ×2
android ×1
applinks ×1
icons ×1
indicator ×1
ios8 ×1
ios9 ×1
iphone-6 ×1
objective-c ×1
overlap ×1
path ×1
tinymce ×1
tinymce-4 ×1
uisearchbar ×1
uitableview ×1