新的iPhone 5显示器具有新的宽高比和新的分辨率(640 x 1136像素).
开发新的或已经过渡的现有应用程序到新屏幕尺寸需要什么?
我们应该记住什么使应用程序对于旧显示器和新的宽屏宽高比"通用"?
如何使用以下方法在iOS 6.0中支持界面方向:
shouldAutorotate
supportedInterfaceOrientations
preferredInterfaceOrientationForPresentation
Run Code Online (Sandbox Code Playgroud)
由于"shouldAutorotateToInterfaceOrientation"在iOS 6.0中已弃用.
请提供代码段以支持您的答案.
谢谢.
我的应用程序显示盒装信件,我希望它能够正确拉伸以填满整个屏幕.我正在创建我的主窗口:
self.mainWindow = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
Run Code Online (Sandbox Code Playgroud)
但我仍然收到信箱的行为.我需要设置一些其他设置来获取设备上的主屏幕的完整大小吗?
如果可以的话,我试图避免使用任何启动图像.我试过这个:
self.mainWindow.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
Run Code Online (Sandbox Code Playgroud)
它似乎没有帮助.我查看了所有Info.plist选项,发现似乎没有任何匹配.
我们都知道新款iPhone 5的屏幕分辨率有所提高.另一方面,新款iPhone 5需要一段时间才能在市场上流行.如果我有一个我即将提交给Apple App Store的应用程序,并且我没有考虑iPhone 5中的新分辨率,Apple会接受吗?
我不是说我永远不会考虑新的解决方案,但我的意思是,因为我在应用程序上工作了很长时间,而且由于新的iPhone不会很快被广泛使用,我现在可能会提交应用程序并在未来几个月内提交更新,以考虑新的决议.
我的应用程序已获得Apple批准.
我想通知您,我推出iPhone 5后提交的应用程序已被Apple接受,尽管其中没有任何iPhone 5分辨率考虑因素,因此下面的答案是100%正确的.
我的一些应用程序使用自定义图像作为背景.检查屏幕尺寸以放置正确图像的正确方法是什么?
在viewDidLoad中是否应该是这样的:
if ([UIScreen mainScreen] == 2.0)
{
UIImage * backgroundImage = [UIImage imageNamed:@"bgimage-568h@2x.png"];
backgroundImageView = [[UIImageView alloc] initWithImage:backgroundImage]];
}
else
{
UIImage * backgroundImage = [UIImage imageNamed:@"bgimage.png"];
backgroundImageView = [[UIImageView alloc] iniWithImage:backgroundImage]];
}
Run Code Online (Sandbox Code Playgroud)
任何提示/建议非常感谢!
谢谢!
我有
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
</array>
Run Code Online (Sandbox Code Playgroud)
在info.plist中并进行搜索并设置shouldAutorotateToInterfaceOrientation要返回的每个实例YES.但在iPhone上它表现得好像不支持颠倒.UpsideUp肖像作品,风景作品,上下颠倒显示风景.为什么?
iPad适用于所有方向.他们分享.xibs
UPDATE
我已经补充说了
- (BOOL)shouldAutorotate {
return YES;
}
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskAll;
}
Run Code Online (Sandbox Code Playgroud)
在每一个现有的实例之后shouldAutorotateToInterfaceOrientation,仍然没有爱.
我的目标是iOS 4.3,但我的模拟器和物理设备运行iOS 6
可能重复:
如何为iPhone 5屏幕分辨率开发或迁移应用程序?
如何处理iPhone 5的屏幕尺寸?
要检查什么才能支持iPhone 5更长的屏幕?
借助iPhone 5上的新屏幕尺寸,任何人都知道或猜测[[UIScreen mainScreen] bounds].size.height在iPhone 5上运行的应用程序会返回什么内容?在所有其他iPhone,包括Retina,它返回480- 我认为它现在将返回568?
或者,它是否会以"居中,letterboxed"模式运行,除非在应用程序中进行其他配置以"允许"完整的iPhone 5分辨率?
可能重复:
如何处理iPhone 5屏幕尺寸?
因此,随着今天iPhone 5的发布和更大的屏幕高度,我们如何在我们的应用程序中适应不同iPhone版本的不同屏幕尺寸.我知道没有为iPhone 5更新的应用程序将是"信箱",但是向后兼容性呢?
有没有办法检查应用程序是否在iPhone 3,4或5上运行?
可能重复:
如何处理iPhone 5屏幕尺寸?
观看了iPhone 5主题演讲,是设备高度和分辨率640 X 1136.所以我看到他们展示了现有的应用程序是如何工作的.但我相信如果我们使用像标签栏,导航栏等本机组件将工作正常.但是相对于设备方向而言,自定义标签栏,导航栏和控件如何呢?所以这些是我的问题.
1)如何处理具有自定义标签栏,导航栏,相关内容等的自定义布局
2)欢迎屏幕.我们现在需要2种尺寸.那么在iPhone 5中我们还需要另外2个正常和视网膜吗?
3)如果您仔细观察主题演示,iPhone 5将从左侧和右侧切割部分视图,因此应用程序开发中没有任何其他更改.有人注意到了吗?
有没有办法检测用户使用的设备,然后使用该信息,使应用程序使用特定的nib文件?
现在,我的代码是
- (BOOL)application: (UIApplication *)application didFinishLaunchingWithOptions: (NSDictionary *)launchOptions{
if(isiPhone5){
self.RootViewController = @"RootViewController_iPhone5";
}
else{
self.RootViewController = @"RootViewController_iPhone4";
}
}
Run Code Online (Sandbox Code Playgroud)
我找到设备的其他代码可以工作并告诉我用户正在使用什么设备,但实际上并没有将.xib文件更改RootViewController_iPhone4.xib为RootViewController_iPhone5.xib.有没有办法做到这一点?
我不想使用自动布局,因为我想根据设备发生其他自定义事件,例如视图控制器中的不同按钮名称,如果使用的设备是iPhone 4和iPhone 5