1. xib转换

iPhone版本APP开发完成后需要再开发iPad版本的APP,需要把iPhone版本的xib文件添加到iPad项目中去,但是Xcode中iPhone和iPad使用的xib格式不能完全互换,此时需要转换xib的文件内容。

分析iPad和iPhone的xib文件,可知两者之间的区别,直接使用source方式打开xib文件,检索替换并保存即可。
以下是iPad和iPhone的xib文件之间的区别,请注意区分xib的文件版本。

旧版本(Xcode4.2)

iPad

type=”com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB”
<string key=”targetRuntimeIdentifier”>IBIPadFramework</string>

iPhone

type=”com.apple.InterfaceBuilder3.CocoaTouch.XIB”
<string key=”targetRuntimeIdentifier”>IBCocoaTouchFramework</string>

新版本
iPad

targetRuntime=“iOS.CocoaTouch.iPad”
type=”com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB”

iPhone

targetRuntime=“iOS.CocoaTouch”
type=”com.apple.InterfaceBuilder3.CocoaTouch.XIB”

如果文件量太多的话,那可以使用以下shell脚本批量替换
iPhone -> iPad

1
2
3
4
5
6
find . -type f -name '*.xib' | xargs perl -pi -e \
's|\"com\.apple\.InterfaceBuilder3\.CocoaTouch\.XIB\"|\"com\.apple\.InterfaceBuilder3\.CocoaTouch\.iPad\.XIB\"|g'
find . -type f -name '*.xib' | xargs perl -pi -e \
's|IBCocoaTouchFramework|IBIPadFramework|g'
find . -type f -name '*.xib' | xargs perl -pi -e \
's|\"iOS\.CocoaTouch\"|\"iOS\.CocoaTouch\.iPad\"|g'

iPad -> iPhone

1
2
3
4
5
6
find . -type f -name '*.xib' | xargs perl -pi -e \
's|\"com\.apple\.InterfaceBuilder3\.CocoaTouch\.iPad\.XIB\"|\"com\.apple\.InterfaceBuilder3\.CocoaTouch\.XIB\"|g'
find . -type f -name '*.xib' | xargs perl -pi -e \
's|IBIPadFramework|IBCocoaTouchFramework|g'
find . -type f -name '*.xib' | xargs perl -pi -e \
's|\"iOS\.CocoaTouch\.iPad\"|\"iOS\.CocoaTouch\"|g'

命令说明:

1
find -name '要查找的文件名' | xargs perl -pi -e 's|被替换的字符串|替换后的字符串|g'

2、修改xib的视图尺寸

在xib文件上右键,选择“Open As -> Interface Builder – iOS”,用IB模式打开。

选择xib文件中的根视图(UIView),在属性面板中找到Size选项,将其改为Full iPad Screen.

现在,你可以有一个iPad版本的xib了。

重要警告:   1.为了解决对iPAD版本换图片的烦恼,建议大家在iphone的 XIB中  使用 两倍的高清图,
                         这样生成的ipAD 版本的XIB 的图片就是你想要的、、、
                    2. *转好的ipad XIB 界面可能需要微调一些字体等、、、、

最新文章

  1. openssl生成rsa密钥对和密钥格式转换
  2. Ubuntu Mono 运行 Helloworld
  3. log_reuse_wait_desc为REPLICATION,日志暴大,无法收缩
  4. [转载]Android核心分析
  5. scala环境搭建
  6. XXTEA 加密算法 C++ C#兼容版本号
  7. HDU 5831 Rikka with Parenthesis II
  8. [转载] ETL和Kettle
  9. ch7复用类
  10. POJ1639 - Picnic Planning
  11. 总线复习之SPI
  12. latex 希腊字母表示
  13. A1032. Sharing
  14. 【angular5项目积累总结】breadcrumb面包屑组件
  15. Paros 网络抓包工具
  16. 一段代码让DedeCMS完美兼容PHP5.4
  17. hdu 3065病毒侵袭持续中
  18. UVA-10129 Play on Words (判断欧拉道路的存在性)
  19. 调用HTMLTestRunner生产的报告内容为空解决办法
  20. bzoj 3932: [CQOI2015]任务查询系统 -- 主席树 / 暴力

热门文章

  1. 工具系列 | 使用Lodop进行WEB打印程序开发
  2. pip的安装
  3. 010-MySQL批量插入测试数据
  4. [LeetCode] 113. Path Sum II 路径和 II
  5. [LeetCode] 636. Exclusive Time of Functions 函数的独家时间
  6. Kubernetes 控制器之 Deployment 介绍(六)
  7. 【python开发】利用PIP3的时候出现的问题Fatal error in launcher: Unable to create process using '"'
  8. [计算机视觉][神经网络与深度学习]SSD安装及其训练教程
  9. (转)JVM原理讲解和调优
  10. Redis 主从配置密码以及哨兵