我只是想知道我们应该如何处理iPhone 5更大的屏幕尺寸.
因为它有更多像素的高度,像GCRectMake这样使用坐标(并且只是将像素与视网膜/非视网膜问题加倍)之类的东西将无法在版本之间无缝地工作,就像我们获得Retina时那样.
我们是否必须设计两个故事板,就像iPad一样?
我个人认为Apple不会要求你每次必须画一些东西来检查屏幕大小,就像许多答案所说的那样.这会发生在iPad上吗?
我的应用程序显示盒装信件,我希望它能够正确拉伸以填满整个屏幕.我正在创建我的主窗口:
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(宽屏设备)?
我正在尝试为现有的ios4项目添加一个新视图来处理新的iphone5屏幕尺寸.
但是我没有在这里测试iphone和我用来测试屏幕大小的代码是不工作的,只是想知道是否有另一种检测设备类型的方法?
NSLog(@"%f", [ [ UIScreen mainScreen ] bounds ].size.height);
if([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone){
if([UIScreen mainScreen].bounds.size.height == 568.0)
{
//move to your iphone5 storyboard
[self changeView:splashScreenBIGV viewH:splashScreenH animLength:SCREEN_CHANGE_ANIM_LENGTH];
}
else{
//move to your iphone4s storyboard
[self changeView:splashScreenV viewH:splashScreenH animLength:SCREEN_CHANGE_ANIM_LENGTH];
}
}
Run Code Online (Sandbox Code Playgroud) 有什么方法可以使用相同的xib为iPhone4和iPhone5设计我的课程吗?
我刚刚将我的第一个应用程序提交到应用程序商店(但它刚被批准了!).我现在想要更新它以便在更大的iPhone 5屏幕上工作(看起来更好).除了为更大的屏幕稍微改变布局之外,我不打算改变任何其他内容.
注意:我不希望我的当前xib伸展.
是否可以创建两个xib文件(即:将我当前的xib文件复制到主屏幕)并将它们连接到视图控制器中并使其具有以便在应用程序启动时,应用程序检测是否有iPhone 5屏幕或较早的屏幕.然后,根据它是哪个设备,向用户显示不同的屏幕.
我打算让底层应用程序保持不变.我想要的只是为iPhone 5用户提供一个稍微不同(更高)的屏幕,其中有几个按钮/项目移动到新的布局.否则我不会在界面中添加或删除任何内容.
这个问题/答案显示了如何在iPhone或iPad视图之间切换.所以做到这一点.两者都有帮助,但我不知道如何修改这个用户使用iPhone 5的大屏幕或iPhone 4S及以下的情况.此外,他们假设两个视图控制器.我只想要一个视图控制器,因为在视图控制器逻辑中绝对没有变化 - 只有屏幕上对象的位置发生变化,这一切都在XIB中完成.
我应该认为答案应该是视图控制器iteslf评估它运行的设备然后呈现适当的xib?是?没有?
如果是这样,我该怎么做呢?
我正在使用我的应用程序迁移我的应用程序UIPickerView.在viewDidLoad方法中,我创建了选择器,并将它的y原点设置self.view.frame.size.height为不在屏幕上.然后我会在需要时将其移动.
在iPhone 5 self.view.frame.size.height仍然返回480但UIView正确填充屏幕.
我甚至尝试过使用CGRectGetHeight(self.view.bounds)它可能会返回不同的东西......没有骰子.关于为什么会发生这种情况的任何想法.
我们都知道新款iPhone 5的屏幕分辨率有所提高.另一方面,新款iPhone 5需要一段时间才能在市场上流行.如果我有一个我即将提交给Apple App Store的应用程序,并且我没有考虑iPhone 5中的新分辨率,Apple会接受吗?
我不是说我永远不会考虑新的解决方案,但我的意思是,因为我在应用程序上工作了很长时间,而且由于新的iPhone不会很快被广泛使用,我现在可能会提交应用程序并在未来几个月内提交更新,以考虑新的决议.
我的应用程序已获得Apple批准.
我想通知您,我推出iPhone 5后提交的应用程序已被Apple接受,尽管其中没有任何iPhone 5分辨率考虑因素,因此下面的答案是100%正确的.
我按照以下答案中的说明操作:https://stackoverflow.com/a/12397309/1084932更新我的应用程序以获取新的iPhone 5屏幕尺寸.很棒,工作得很好!
但是,我还没有准备好进行此更新,并希望现在回滚到信箱设置.我尝试删除Default-568h@2x.png以查看是否可行,但即使没有Default-568h@2x.png文件,我的应用程序仍会填满整个iPhone 5屏幕.
任何人都知道在添加Default-568h@2x.png后如何撤消iPhone 5的自动调整大小?
[编辑]我没有厌倦iPhone 5设备,但我的问题是专门与模拟器.
在iPhone5 [[UISCreen mainScreen]界限] .size回复为320x480.为什么.在我正在阅读的所有帖子中,人们都说它返回了正确的屏幕尺寸.这里发生了什么?我错过了.plist文件中的内容吗?
顺便说一下,我手工编写GUI,因此没有XIB.
iphone-5 ×7
ios ×5
iphone ×3
objective-c ×2
xcode ×2
xib ×2
cgrect ×1
ios6 ×1
resolution ×1
screen ×1
screen-size ×1
size ×1
storyboard ×1
uiview ×1