iOS 7之前的应用程序工作正常。我今天用Xcode 6尝试了它,当我运行它时,我有一个令人不快的惊喜:(:
你知道iOS 8有什么变化吗?:/我使用了以下定向方法:
编辑:
我刚刚发现这个方法:
- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
return UIInterfaceOrientationMaskLandscape;
}
现在我的第一个视图控制器工作正常:)。问题是当我显示一个模态(改变了UIInterfaceOrientationMaskAll中的方法集)时,会重新制作屏幕截图的丑陋效果。准确地说,我在这种模式下改变了我的方法:
- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
if(self.restrictRotation)
{
return UIInterfaceOrientationMaskLandscape;
}
else
{
return UIInterfaceOrientationMaskAll;
}
}
// THIS IS A DELEGATE OF MODAL VIEW CONTROLLER
- (void)updateInterfaceAfterDocumentPreviewViewController
{
NSLog(@"updateInterfaceAfterDocumentPreviewViewController");
[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeLeft];
AppDelegate* appDelegate = (AppDelegate*)[UIApplication sharedApplication].delegate;
appDelegate.restrictRotation = YES;
}
我对“加载屏幕”也有同样的问题。这对我来说很有用。(请注意:我的应用程序仅支持iOS 7或更高版本的横向模式。):
CGRect theFrame = self.view.frame;
if ([[[UIDevice currentDevice] systemVersion] floatValue] < 8.0) {
CGRect screenBounds = [[UIScreen mainScreen] bounds];
theFrame.origin = CGPointZero;
theFrame.size.width = screenBounds.size.height;
theFrame.size.height = screenBounds.size.width;
}
NSLog(@"%@", [NSNumber valueWithCGRect:theFrame]);
self.loadingScreen = [[UIView alloc] initWithFrame:theFrame];
如果您的应用程序支持纵向定位,请参考Mike Hay的答案,并了解“计算正确的applicationFrame还有很长的路要走”:https://stackoverflow.com/a/18072095/4108485
希望这有帮助。
问题似乎是设置窗口时调用的顺序。在应用程序委托的didFinishLaunchingWithOptions方法中指定根视图控制器之前,需要调用makeKeyAndVisible。以下工作:
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
[self.window makeKeyAndVisible];
self.window.rootViewController = self.myMainViewController;
但是如果您将顺序更改为:
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
self.window.rootViewController = self.myMainViewController;
[self.window makeKeyAndVisible];
你得到了你正在经历的行为。
请尝试以下代码
在AppDelegate的didFinishLaunchingWithOptions中
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];
[self.window setFrame:[[UIScreen mainScreen] bounds]]; //Add
我尝试以下代码,但它显示错误消息: 错误消息:- 处理该命令时发生未知的服务器端错误。(警告:服务器未提供任何stacktrace信息)
我试图调用ViewModel中片段中的函数,但每次调用时它都会崩溃,我不知道为什么。下面是代码: 呼吁协程: 函数的代码: 如果我不使用协同程序,只使用我收到一个错误,说我必须从其他挂起函数或协同程序调用这个函数。 这就是错误: 我的ViewModel是: 在我称之为协程的片段中,我这样声明它:
问题内容: 首先了解应用程序的一些背景知识。我有一个应用程序通过线程池并行处理许多独立的任务。现在线程池正在挂起。 以下是我的线程转储的摘录,我的pool-2中的所有线程都被“ pool-2-thread-78”阻止了。尝试写入控制台似乎已锁定,我觉得这很奇怪。谁能为我说明情况? 编辑 :平台详细信息Java版本“ 1.6.0_07” Java(TM)SE运行时环境(内部版本1.6.0_07-b0
我试图隐藏Actionbar并改用工具栏,但如果我更改Theme.appcompat.light.NoActionBar,它确实会隐藏,但应用程序在行setContentView(r.layout.activity_main)处崩溃; 尽管它确实使用getSupportActionBar()隐藏。hide();但我不能用这个代码 Toolbar Toolbar=(Toolbar)findViewB
我对一些代码进行了分析,并对花费了这么多时间感到惊讶。 但我发现这快了大约5倍: 下面是Math.min的代码以供参考: 注意:我的用例是对称的,上面的情况都适用于max,而不是min。 我在我的应用程序中添加了以下代码,以尝试获得更好的数据: 这将打印每个新触摸事件的运行比率。当我在屏幕上旋转手指时,首先记录的比率是或或。这让我觉得这个测试不是很准确地测量时间。随着收集到更多的数据,比率往往在和
我正在使用异步套接字用C#编写一个多客户端/服务器应用程序。连接上的每个客户端发送10个项目。问题是,当快速启动大量客户机时,每个客户机发送的条目都少于10个,有时什么也不发送,服务器只记录它们的连接。