在最初为以前版本设计的iOS7中运行应用程序时,深灰色导航栏会调整其文本为黑色的状态栏.
我正在尝试将其改编为最新版本,我将UIApplication.statusBarStyle设置为UIStatusBarStyleLightContent,如下所示:
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:YES];
Run Code Online (Sandbox Code Playgroud)
这段代码应该将状态栏文本颜色更改为白色,但不会.我在我的UIApplication实例的_statusBarRequestedStyle属性中放置了一个观察点,我可以通过执行viewWillAppear和viewDidAppear方法之间的UIApplicationMain调用将其设置为0(UIStatusBarStyleDefault).
我无法弄清楚状态栏样式在这一点上有什么/为什么会改变,如果您有相同的经验,我将不胜感激.
提前致谢!
编辑:来自iOS 7 UI过渡指南(https://developer.apple.com/library/ios/documentation/userexperience/conceptual/TransitionGuide/Bars.html)
在iOS 7中,您可以从单个视图控制器控制状态栏的样式,并在应用程序运行时进行更改.如果您希望选择不使用此行为并使用UIApplication statusBarStyle方法设置状态栏样式,请将UIViewControllerBasedStatusBarAppearance键添加到应用程序的Info.plist文件中,并为其赋值NO.
我正在构建一个需要同时处理多个请求的 HTTPServer。
我构建的主要功能如下:
public static void main(String[] args) throws Exception {
HttpServer server = HttpServer.create(new InetSocketAddress(8000), 0);
server.createContext("/", new MyRequestDispatcher());
server.setExecutor(Executors.newCachedThreadPool());
server.start();
}
Run Code Online (Sandbox Code Playgroud)
现在我正在考虑它如何Executors.newCachedThreadPool()在创建的线程数量方面发挥作用。正如我所读到的,要创建的线程数量不受限制,如果我同时收到一千个请求,它会创建一千个线程吗?
我正在考虑限制同时创建的线程数量,以便在运行它的机器中正确处理。我想到了这样的事情:
Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors())
Run Code Online (Sandbox Code Playgroud)
目标是根据系统中的可用处理器仅创建给定数量的线程。
这行得通吗?
提前致谢!!