首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >首先为iPhone 4或5开发

首先为iPhone 4或5开发
EN

Stack Overflow用户
提问于 2013-04-09 04:49:23
回答 2查看 784关注 0票数 6

我已经搜索了所有可能的组合,试图找到这个问题的答案,因为我肯定有人问过somewhere....so,如果你能给我指出正确的方向,请原谅我。

如果你正在开发一个新的iOS应用程序,你会先在IB中设置iPhone 5或4屏幕大小的布局吗?我找到了很多关于使用自动布局将你的iPhone 4应用移到iPhone 5上的文章,但没有versa....which让我认为,对于那些没有完全独立的界面的应用来说,理想的工作流程是在IB中创建3.5英寸屏幕尺寸的界面,然后使用自动布局来适应iPhone 5的4英寸屏幕。

有人能为我解释一下最佳实践吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-10 06:55:31

Kendall Geln提出了一些非常好的观点。特别是,从较小的屏幕向上构建并调整大小会更好-主要是因为缩小元素可能会给用户带来糟糕和狭小的体验。在这一点上,您需要确保您的图形(图像和视频)的大小适合两种屏幕尺寸。创建图形时,最好先大规模创建它们,然后根据需要缩小它们的大小。

另一个设计考虑因素是为4英寸和3.5英寸屏幕创建略有不同的界面。4英寸的屏幕更高,为开发人员提供了更多的空间,因此也有更多的可能性。这几乎与设计iPad和iPhone接口的原则相同。

您还提到在Interface Builder中执行此操作。默认情况下(现在是Xcode ),任何基于iPhone的新项目都会以4英寸/iPhone5布局开始你的界面。通过单击界面生成器/编辑器屏幕右下角的屏幕大小切换按钮(看起来像一个两端都有箭头的矩形),可以随时在布局之间进行切换:

如果您需要针对不同屏幕尺寸的完全不同的界面,则可以在AppDelegate中有条件地加载情节提要。下面是你可以如何做的:

代码语言:javascript
运行
复制
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
    // Check if the user is on a newer iPhone / iPod with a 4-inch screen
    if ([[UIScreen mainScreen] bounds].size.height == 568) {
        // The user is on a newer device with a 4-inch screen - load your custom iPhone 5 storyboard
        UIStoryBoard *storyBoard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone5" bundle:nil];
        UIViewController *initViewController = [storyBoard instantiateInitialViewController];
        [self.window setRootViewController:initViewController];
    } else {
        // The user is on an older device with a 3.5-inch screen - load the regular storyboard
        UIStoryBoard *storyBoard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil];
        UIViewController *initViewController = [storyBoard instantiateInitialViewController];
        [self.window setRootViewController:initViewController];
    }
}

总之,我不认为有一个正确的工作流程(例如,从3.5到4,反之亦然),但是您应该记住以下几点:

  • 缩小大界面可能会使它们变得狭小,并导致糟糕的用户体验
  • 图形就不能这么说了……如果你设计一个低分辨率或小尺寸的图形并放大,它们看起来不会很好(同样的原理也适用于为视网膜和非视网膜devices).
  • Consider设计不同的屏幕尺寸和在每个屏幕上可以做什么。请记住,可以创建单独的故事板。

编辑:从2013年初开始,苹果将不再允许不支持iPhone 5的应用程序进入AppStore。你必须支持iPhone 5屏幕大小,才能将你的应用程序或任何更新程序放入商店。

票数 6
EN

Stack Overflow用户

发布于 2013-04-10 06:46:12

一般来说,最好是以UI的最小尺寸为目标,并将自动调整大小的行为设置为适当地扩展-否则,缩小元素可能会产生过于狭窄的UI。

在iPhone 5上还要注意,在viewDidLoad中,来自nib的UI元素还没有调整大小或重新定位(至少使用较旧的布局引擎)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15888705

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档