相关疑难解决方法(0)

iPhone 6 Plus分辨率混乱:Xcode还是Apple的网站?发展

Apple的网站称其分辨率为1080p:1920 x 1080

但是,Xcode(今天推出的8.0 GM)所需的启动屏幕是2208 x 1242.

谁是对的?

Xcode中

xcode ios ios-simulator iphone-6 iphone-6-plus

265
推荐指数
7
解决办法
19万
查看次数

如何为iPhone 6/6 Plus仅景观应用创建启动图像?

我有一个现有的横向应用程序,我正在尝试添加iPhone 6/iPhone 6 Plus支持.当我支持iOS 6/7时,我只使用默认命名的启动肖像图像,将风景图像旋转为纵向(即,对于4"屏幕,我创建了一个横向1136x640,然后旋转以创建640×1136启动图像.)

我正在尝试为iOS 8和iPhone 6/6+工作,但还没有找到有效的东西.以下是我尝试过的一些事情:

  1. 遵循4"屏幕启动图像约定的模式.我创建了Default-667h@2x.png和Default-736h@3x.png图像.这确实欺骗了模拟器以适当的iPhone 6/6 +分辨率运行但是在启动时,使用4"屏幕启动图像,而不是我创建的新图像.
  2. 使用资产目录 - 我在LaunchImages资产中为iPhone 6和iPhone 6 Plus创建纵向启动图像,为iPhone 6 Plus创建横向图像.iPhone 6 Plus可以工作,但iPhone 6只显示黑屏.(无法在资产目录中创建iPhone 6横向启动图像)
  3. 指定的Info.plist UILaunchImages阵列具有用于所有屏幕尺寸条目(见参考https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html#//apple_ref/doc/ uid/TP40009252-SW28).我在这里得到了与资产目录类似的结果.我可以让iPhone 6 Plus风景有效,但不能用iPhone 6风景.

iphone ios ios8 iphone-6

60
推荐指数
5
解决办法
8万
查看次数

在屏幕更新后调用drawViewHierarchyInRect时出现iOS8缩放故障:YES

我正在将一个项目从iOS7转换为iOS8,它使用自定义转换,需要在完成加载后捕获模态,afterScreenUpdates:YES并且看到整个屏幕缩放一秒钟并缩小比例.在iOS8上转换为照片时,我也会在部分和Yelp应用程序之间的iOS版Flickr应用程序中看到这种情况.

  UIGraphicsBeginImageContextWithOptions(self.view.frame.size, YES, 22.0); 
  [self.view drawViewHierarchyInRect:self.view.frame afterScreenUpdates:YES];
  UIGraphicsEndImageContext();
Run Code Online (Sandbox Code Playgroud)

添加更大的比例因子有助于更多地强调故障......但我只是在示例中按下按钮.

编辑这似乎发生在iPhone 6和6加上而不是5.

规模故障

示例项目github

screenshot ios ios8

15
推荐指数
3
解决办法
4137
查看次数

在模拟器上检测iPhone 6/Plus时遇到问题

我正在尝试专门为iPhone 6和6 Plus构建我的应用程序版本,而我没有任何硬件,我必须在模拟器上进行测试!但似乎,模拟器有一个奇怪的错误!首先,我通过以下代码获得屏幕分辨率和比例:

    UIScreen *mainScreen = [UIScreen mainScreen];
NSLog(@"Screen bounds: %@, Screen resolution: %@, scale: %f, nativeScale: %f",
      NSStringFromCGRect(mainScreen.bounds), mainScreen.coordinateSpace, mainScreen.scale, mainScreen.nativeScale);
Run Code Online (Sandbox Code Playgroud)

所以这里是如何检测iPhone 6和6Plus(纵向模式):

#define iPhone6 ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone && [UIScreen mainScreen].bounds.size.height == 667)

#define iPhone6Plus ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone && [UIScreen mainScreen].bounds.size.height == 736)
Run Code Online (Sandbox Code Playgroud)

问题是 !当我在iPhone6/Plus模拟器上吃午餐时,编译器会给我一些iPhone 4"显示屏的信息:

    2014-09-28 12:32:08.153 WOD[2924:42290] 
Screen bounds: {{0, 0}, {320, 568}}, Screen resolution: <UIScreen: 0x7fa15be0f9b0; bounds = {{0, 0}, {320, 568}}; mode = <UIScreenMode: 0x7fa15bd0d4a0; 
size = 640.000000 x 1136.000000>>, scale: …
Run Code Online (Sandbox Code Playgroud)

iphone xcode objective-c ios

14
推荐指数
1
解决办法
1万
查看次数

iOS 8横向:键盘无法正确显示

我有一个为iOS8编译的应用程序.该应用程序设置为仅在项目设置中允许纵向方向.应用程序的视图不会按设计旋转到横向.在iOS7中,当您将设备旋转到横向时,键盘不会旋转.这是我想要的行为.

但是,在iOS8中,当您将设备旋转到横向时,键盘将错误地切换到横向.

我已在物理iPhone 6 Plus上对此进行了测试以确认问题.还通过模拟器在iPhone 5上进行了测试.知道如何解决这个问题吗?

潜在的修复

我不记得为什么我这样做但我有一些在应用程序启动时执行的引导代码:

    d.window.rootViewController = tabBarController;
Run Code Online (Sandbox Code Playgroud)

其中tabBarController是应用程序的顶级选项卡栏控制器.删除此引导代码可修复此问题.

在此输入图像描述

建议的调试

虽然这在iOS的早期版本中没有出现,但看起来iOS8的行为有点不同.我建议你查看你拥有的任何自举代码.您可能必须尝试一个示例项目并添加一些位,直到找到罪魁祸首,因为在我的情况下很难跟踪.下面提供的两个答案是解决症状而不是原因,所以我没有将它们标记为正确.

objective-c uikit ios ios8

14
推荐指数
1
解决办法
6635
查看次数

如何禁用iPhone 6原生分辨率?

我用Cocos2d-iphone制作了几款游戏.所有这些都是使用Xcode 4或5创建的旧项目.除了一个似乎避免缩放模式并且在原生iPhone 6/6 Plus分辨率上运行的游戏外,所有游戏都在新的iPhone 6和6 Plus上进行了很好的扩展.该项目不包含有关决议启动图像,似乎禁用缩放模式作为解释这里

还有什么可以解锁原生分辨率吗?我希望游戏暂时以缩放模式运行,直到HD资产为新分辨率做好准备.

我创建了一个没有任何资产的新空项目,它正在使用原生屏幕尺寸.

iphone screen-resolution cocos2d-iphone ios iphone-6

11
推荐指数
2
解决办法
5446
查看次数

状态栏在iPhone 6上太大了

在iPhone 6上的iOS8应用程序中,状态栏显示的位置远远大于主屏幕或其他应用程序中的状态栏.这只发生在iPhone 6上,我一直在寻找解决这个问题的方法,此时我还没有找到任何东西.如果有人有任何建议会很棒.以下是我的应用程序中正常状态栏和状态栏的图片.

正常 我的应用程序

statusbar ios8

8
推荐指数
1
解决办法
5165
查看次数

iPhone6状态栏显示放大应用但不在主屏幕上

经过一些初步测试,我们在iPhone6上的应用程序,我们看到状态栏(可能是整个应用程序)显示缩放的大小.当我说缩放时,我指的是桌面设置缩放与标准.该应用程序是使用较旧的故事板类型编写的,而不是使用Size类的新类型.

我的应用: 在此输入图像描述

主屏幕: 在此输入图像描述

ios uistatusbar xcode6 iphone-6

8
推荐指数
1
解决办法
5218
查看次数

如何在没有缩放模式的iPhone 6上显示iOS应用程序

这可能是一个模糊的问题,如果您需要截图,请告诉我.

我刚买了一部iPhone 6,我在"标准"变焦模式下设置了它.这使得所有文本,图标和Apple应用程序在手机上显示为"小".但是,所有其他应用程序(包括我的iOS 8优化应用程序和Facebook和Twitter等大牌应用程序)都以"放大"模式显示.当手机上的所有东西都变大时,包括时钟,电池电量,手机信号......等等,这是非常奇怪和分散注意力的.

有没有人知道如何强制第三方应用程序在手机处于标准模式时以标准模式显示,以及在手机放大时以放大模式显示?

ios iphone-6

8
推荐指数
1
解决办法
1万
查看次数

iPhone 6和6加上错误的框架,界限值

我的应用程序基于Xcode 5.1.1,但是一旦在Xcode 6上升级,面对帧大小的问题,根据新的尺寸,iPhone 6的分辨率为750x1334但是,输出480x300,任何人都遇到了与iOS 8,iPhone 6或甚至在iPhone 6加模拟器上也是如此

只需运行应用程序和NSLog以下行

NSLog(@"Width - %f, Height - %f",self.view.frame.size.width,self.view.frame.size.height);
NSLog(@"Width - %f, Height - %f",self.view.bounds.size.width,self.view.bounds.size.height);
Run Code Online (Sandbox Code Playgroud)

输出:

宽度 - 480.000000,高度 - 300.000000宽度 - 480.000000,高度 - 300.000000

我知道从iOS 8开始,bound.size取决于方向,但我的问题是为什么它给我480x300代替实际的667x355

xcode objective-c ios ios8 iphone-6

8
推荐指数
1
解决办法
5011
查看次数