草庐IT

ios - 如何为 iPhone 6 和 iPhone 6-Plus 优化非常老式的 iOS 应用程序

coder 2024-01-12 原文

我有一个兼容 iPhone 5S(最高 5S)的旧 iOS 应用程序。它是通过使用常规的 xib 构建的,甚至没有 Storyboard,也没有使用任何自动布局概念(也没有为 xib 检查自动布局选项),现在我为 iPhone 6 和 6-plus 放置了相关的启动画面以更新兼容性剩下的两个设备和用户界面现在看起来很糟糕。有什么简单的方法可以将项目更新为与 iPhone 6 和 6-Plus 兼容,我的意思是即使在为 iPhone 6 和 6-plus 放置了相关的初始屏幕后也要调整 UI(没有斜线屏幕,应用程序在 iPhone 中运行良好6 和 6-plus 但客户想要在 Appstore 中看到他们的应用程序必须提示“此应用程序针对 iPhone 5、iPhone 6 和 iPhone 6 Plus 进行了优化。”)。 别以为我要求一个简单的解决方案是愚蠢的,但是该应用程序中有 50 多个 xib,所以建议我哪一个是更新项目兼容性的更好和最简单的方法。请建议。谢谢。

最佳答案

所以我到处调查了这个问题,以下是我可以提出的建议:

1.您可以将每个 View 更新为自动布局。 优点:您的应用程序的每个 View 在您完成后都会自适应。在下一代 iPhone 屏幕中,您不会在 UI/UX 方面遇到任何问题。 缺点:如果 View 层次结构或动画很复杂,这可能是一个非常困难和压力很大的过程。并且再次取决于意见,这将是一个比它必须的更长的过程。

2.您可以使用 AutoresizingMask 和框架设置更新每个 View 。 优点:它可以比第一个过程更快。您可以更快地处理复杂的 View ,并轻松实现 iPhone 6 的分辨率转换。 缺点:当出现新的 iPhone 尺寸时,您可能需要再次更新您的应用程序的“曾经查看”,这将是一种风险更大的方法。

3.您可以将Autolayout 与Autoresizingmask 和frame 设置混合使用以进行优化。 优点:它会比第二种方法慢,但风险不大,而且比第一种方法快得多。 缺点:这将是一个混合修复,您将需要更新您的 View ,但不是全部。

从这 3 个中,我会选择第 3 个原因: 1.您将快速优化支持iPhone6。 2. 您的大部分 View 都将自动布局,这将使您的应用更具适应性。而且不会有那么多 View 需要处理。

为了选择执行哪种方式,我首先检查 View 层次结构,然后检查该层次结构中的动画。希望这会有所帮助。

关于ios - 如何为 iPhone 6 和 iPhone 6-Plus 优化非常老式的 iOS 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32456041/

有关ios - 如何为 iPhone 6 和 iPhone 6-Plus 优化非常老式的 iOS 应用程序的更多相关文章

  1. ruby - 如何为 emacs 安装 ruby​​-mode - 2

    我刚刚为fedora安装了emacs。我想用emacs编写ruby。为ruby​​提供代码提示、代码完成类型功能所需的工具、扩展是什么? 最佳答案 ruby-mode已经包含在Emacs23之后的版本中。不过,它也可以通过ELPA获得。您可能感兴趣的其他一些事情是集成RVM、feature-mode(Cucumber)、rspec-mode、ruby-electric、inf-ruby、rinari(用于Rails)等。这是我当前用于Ruby开发的Emacs配置:https://github.com/citizen428/emacs

  2. ruby - 如何验证 IO.copy_stream 是否成功 - 2

    这里有一个很好的答案解释了如何在Ruby中下载文件而不将其加载到内存中:https://stackoverflow.com/a/29743394/4852737require'open-uri'download=open('http://example.com/image.png')IO.copy_stream(download,'~/image.png')我如何验证下载文件的IO.copy_stream调用是否真的成功——这意味着下载的文件与我打算下载的文件完全相同,而不是下载一半的损坏文件?documentation说IO.copy_stream返回它复制的字节数,但是当我还没有下

  3. Ruby 文件 IO 定界符? - 2

    我正在尝试解析一个文本文件,该文件每行包含可变数量的单词和数字,如下所示:foo4.500bar3.001.33foobar如何读取由空格而不是换行符分隔的文件?有什么方法可以设置File("file.txt").foreach方法以使用空格而不是换行符作为分隔符? 最佳答案 接受的答案将slurp文件,这可能是大文本文件的问题。更好的解决方案是IO.foreach.它是惯用的,将按字符流式传输文件:File.foreach(filename,""){|string|putsstring}包含“thisisanexample”结果的

  4. Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting - 2

    1.错误信息:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:requestcanceledwhilewaitingforconnection(Client.Timeoutexceededwhileawaitingheaders)或者:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:TLShandshaketimeout2.报错原因:docker使用的镜像网址默认为国外,下载容易超时,需要修改成国内镜像地址(首先阿里

  5. ruby-on-rails - 使用 HTTParty 的非常基本的 Rails 4.1 API 调用 - 2

    Rails相对较新。我正在尝试调用一个API,它应该向我返回一个唯一的URL。我的应用程序中捆绑了HTTParty。我已经创建了一个UniqueNumberController,并且我已经阅读了几个HTTParty指南,直到我想要什么,但也许我只是有点迷路,真的不知道该怎么做。基本上,我需要做的就是调用API,获取它返回的URL,然后将该URL插入到用户的数据库中。谁能给我指出正确的方向或与我分享一些代码? 最佳答案 假设API为JSON格式并返回如下数据:{"url":"http://example.com/unique-url"

  6. ruby-on-rails - 如何为空白字段编写 rspec? [Rails3.1] - 2

    我使用rails3.1+rspec和factorygirl。我对必填字段(validates_presence_of)的验证工作正常。我如何让测试将该事实用作“成功”而不是“失败”规范是:describe"Addanindustrywithnoname"docontext"Unabletocreatearecordwhenthenameisblank"dosubjectdoind=Factory.create(:industry_name_blank)endit{shouldbe_invalid}endend但是我失败了:Failures:1)Addanindustrywithnona

  7. ruby - 为什么不能使用类IO的实例方法noecho? - 2

    print"Enteryourpassword:"pass=STDIN.noecho(&:gets)puts"Yourpasswordis#{pass}!"输出:Enteryourpassword:input.rb:2:in`':undefinedmethod`noecho'for#>(NoMethodError) 最佳答案 一开始require'io/console'后来的Ruby1.9.3 关于ruby-为什么不能使用类IO的实例方法noecho?,我们在StackOverflow上

  8. ruby - 如何为 pbcopy 生成富文本链接 - 2

    我一直在玩一个脚本,它在Chrome中获取选定的文本并在Google中查找它,提供四个最佳选择,然后粘贴相关链接。它以不同的格式粘贴,具体取决于当前在Chrome中打开的页面-DokuWiki打开的DokuWiki格式,普通网站的HTML,我想要我的WordPress所见即所得编辑器的富文本。我尝试使用pbpaste-Preferrtf来查看没有其他样式的富文本链接在粘贴板上的样子,但它仍然输出纯文本。在文本编辑中保存文件并进行试验后,我想出了以下内容text=%q|{\rtf1{\field{\*\fldinst{HYPERLINK"URL"}}{\fldrsltTEXT}}}|te

  9. ruby - 如何在 Ruby 中生成一个非常大的随机整数? - 2

    我想在ruby​​中生成一个64位整数。我知道在Java中你有很多渴望,但我不确定你会如何在Ruby中做到这一点。另外,64位数字中有多少个字符?这是我正在谈论的示例......123456789999。@num=Random.rand(9000)+Random.rand(9000)+Random.rand(9000)但我认为这是非常低效的,必须有一种更简单、更简洁的方法来做到这一点。谢谢! 最佳答案 rand可以将范围作为参数:pa=rand(2**32..2**64-1)#=>11093913376345012184putsa.

  10. Ruby 服务器在本地主机(teambox)之外非常慢 - 2

    我刚刚在我的Ubuntu9.10服务器上安装了TeamBox。我使用提供的服务器脚本在端口3000上启动并运行它。它的运行速度非常慢,从另一台计算机连接时每个HTTP请求最多需要30秒。我使用链接从shell加载TeamBox,一点也不花时间。然后我设置了一个SSH隧道,它再次运行得非常快。我通过此服务器上的apache以及SAMBA等运行了大约30个虚拟主机,没有任何问题。我该如何解决这个问题? 最佳答案 我的redmine(ruby,webrick)太慢了。现在我解决了这个问题:apt-getinstallmongrelruby

随机推荐