我的应用程序背景较暗,但在iOS 7中,状态栏变得透明.所以我看不到任何东西,只有角落里的绿色电池指示灯.如何将状态栏文本颜色更改为白色,就像在主屏幕上一样?
从iOS7开始,我的顶部UITableView有一个额外的空间,有一个风格UITableViewStyleGrouped.
这是一个例子:

tableview从第一个箭头开始,有35个像素的无法解释的填充,然后绿色标题是UIView返回的viewForHeaderInSection(其中该部分为0).
任何人都可以解释这个35像素的数量来自何处以及如何在不切换的情况下摆脱它UITableViewStylePlain?
我最近下载了Xcode 5 DP来测试我在iOS 7中的应用程序.我注意到并确认的第一件事是我的视图边界并不总是调整大小来考虑状态栏和导航栏.
在viewDidLayoutSubviews,我打印视图的边界:
{{0,0},{320,568}}
这导致我的内容出现在导航栏和状态栏下方.
我知道我可以通过获取主屏幕的高度,减去状态栏的高度和导航栏的高度来解释自己的高度,但这似乎是不必要的额外工作.
我该如何解决这个问题?
更新:
我找到了解决这个特定问题的方法.将导航栏的半透明属性设置为NO:
self.navigationController.navigationBar.translucent = NO;
Run Code Online (Sandbox Code Playgroud)
这将修复视图在导航栏和状态栏下面的框架.
但是,当您希望导航栏为半透明时,我还没有找到解决此案例的方法.例如,在全屏查看照片时,我希望导航栏是半透明的,并且要在其下方构建视图.这是有效的,但当我切换显示/隐藏导航栏时,我经历了甚至更奇怪的结果.第一个子视图(UIScrollView)每次都会更改其边界.
我正在玩一些新的iOS 7功能,并使用WWDC视频"在iOS上实现引导UI"中讨论的一些图像效果.为了在会话的源代码中产生模糊效果,UIImage通过导入UIKit的类别扩展,如下所示:
@import UIKit;
Run Code Online (Sandbox Code Playgroud)
我想我在另一个会话视频中看到了一些相关内容,但我找不到它.我正在寻找有关何时使用此信息的任何背景信息.它只能用于Apple框架吗?使用此编译器指令的好处是否应该返回并更新旧代码?
在iOS 7中,Apple添加了一个新的默认导航行为.您可以从屏幕的左边缘滑动以返回导航堆栈.但在我的应用程序中,此行为与我的自定义左菜单冲突.那么,是否可以在UINavigationController中禁用这个新手势?
objective-c uinavigationcontroller uigesturerecognizer ios ios7
在iOS 7中,sizeWithFont:现已弃用.我现在如何将UIFont对象传递给替换方法sizeWithAttributes:?
我是一名具有一定经验的iOS开发人员,这个问题对我来说非常有趣.我在这个主题上看到了很多不同的资源和材料,但是我仍然感到困惑.iOS网络应用程序的最佳架构是什么?我的意思是基本的抽象框架,模式,它适合每个网络应用程序,无论它是一个只有少量服务器请求的小应用程序还是复杂的REST客户端.Apple建议将其MVC用作所有iOS应用程序的基本架构方法,但MVC现在的MVVM模式都不能解释网络逻辑代码的放置位置以及如何组织它.
我是否需要开发类似MVCS(Sfor Service)的东西,并在此Service层放置所有API请求和其他网络逻辑,这在视角可能真的很复杂?在做了一些研究后,我找到了两种基本方法.这里建议为Web服务的每个网络请求API(如LoginRequest类或PostCommentRequest类等)创建一个单独的类,它们都继承自基本请求抽象类AbstractBaseRequest,另外还创建了一个封装了常见网络代码的全局网络管理器.其他首选项(可能是AFNetworking自定义或RestKit调优,如果我们有复杂的对象映射和持久性,甚至是使用标准API的自己的网络通信实现).但这种方法对我来说似乎是一个开销.另一种方法是在第一种方法中使用一些单例API调度程序或管理器类,但不是为每个请求创建类,而是将每个请求封装为此管理器类的实例公共方法,如:fetchContacts,loginUser方法等.那么,什么是最好的和正确的方法?还有其他有趣的方法我还不知道吗?
我是否应该为所有这些网络内容创建另一个层,例如Service,NetworkProvider层或其他任何在我的MVC架构之上,或者该层应该集成(注入)到现有MVC层中,例如Model?
我知道存在很好的方法,或者像Facebook客户端或LinkedIn客户端这样的移动怪物如何应对指数级增长的网络逻辑复杂性?
我知道这个问题没有确切而正式的答案.这个问题的目标是从经验丰富的iOS开发人员那里收集最有趣的方法.最佳建议方法将被标记为已接受并获得声誉奖励,其他方式将被赞成.这主要是一个理论和研究问题.我想了解iOS中网络应用程序的基本,抽象和正确的架构方法.我希望有经验的开发人员提供详细解释.
在iOS 7 UIStatusBar中,它的设计方式与视图合并如下:
(由TinaTavčar设计的GUI )
这很酷,但是当你在视图的顶部有一些东西时它会使你的视图陷入混乱,并且它会与状态栏重叠.
是否有一个简单的解决方案(例如在info.plist中设置属性)可以改变它的工作方式[不重叠]回到它在iOS6中的状态?
我知道一个更直接的解决方案是self.view.center.x为每个视图控制器提供+ 20个点,但是更改它们会使其他尺寸self.view.center.x变得更大(有不同可能导致自定义segue等问题)并且突然变成一个单调乏味的工作最好避免.
如果有人能为我提供单线解决方案,我真的很高兴.
PS我知道我可以通过做某事来隐藏状态栏
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];
Run Code Online (Sandbox Code Playgroud)
在didFinishLaunchingWithOptions方法中,但这是一个解决方法,一个避免问题的捷径,所以我不认为这是一个真正的解决方案.
我刚刚将iPhone 5 iOS 7升级到四个测试版.现在当我在这款iPhone上从Xcode 5运行我的应用程序时,状态栏不会隐藏,即使它应该.
不工作:
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];
Run Code Online (Sandbox Code Playgroud)
不工作:
[UIApplication sharedApplication].statusBarHidden = YES;
Run Code Online (Sandbox Code Playgroud)
无法登录Apple Developer论坛
我注意到,当我将白色或黑色UIImage放入其中时,UISegmentedControl它会自动对其进行颜色遮罩,以匹配分段控件的色调.我觉得这真的很酷,想知道我是否也可以在其他地方做到这一点.例如,我有一堆按钮,它们具有统一的形状但颜色各异.我不是为每个按钮制作一个PNG,而是以某种方式使用这种颜色遮罩来为所有这些使用相同的图像,但是然后设置一种色彩或某种东西来改变它们的实际颜色?
ios7 ×10
ios ×7
objective-c ×5
statusbar ×3
deprecated ×1
import ×1
iphone ×1
networking ×1
textcolor ×1
uibutton ×1
uistatusbar ×1
uitableview ×1
web-services ×1