转换的iPhone xib。xib?
题
你怎么做到的?我看到了一个视频上的教程,但屏幕太小了。此外,其他比改变观的尺寸,是否有任何其他重大变化我会让我的iphone应用程序转换。?
解决方案
假设你已经SDK 与模式3,
- 开IB。
- 打开XIB。
- 文件>创建刷新使用自动调整的面具。
其他提示
我可以将它缩小到了一些东西,所以这里是为我工作的步骤:
1)让iPhone厦门国际银行文件的副本,并将其添加到您的项目
2)右键点击该文件(在xcode中)和打开为>源代码
3)的第二行应该是这样的:
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
替换为:
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB" version="7.10">
4)搜索 “IBCocoaTouchFramework”,并用 “IBIPadFramework”
替换所有出现5)保存文件并打开为>界面生成器 - iOS设备
该文件可能仍然看起来像一个普通的iPhone厦门国际银行,但对我来说,一旦我在属性检查器中改变了状态栏为“黑”的厦门国际银行的其余部分只是一种“啪”到iPad的厦门国际银行
在的Xcode 5你应该只是:
查找
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="4510" systemVersion="12F37" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none">
通过替换:
<document type="com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB" version="3.0" toolsVersion="4510" systemVersion="12F37" targetRuntime="iOS.CocoaTouch.iPad" propertyAccessControl="none">
请注意,我们只是加入的 .iPad 以所述type
和targetRuntime
性质。
开口后只是选择一个新的大小来调整。例如:。iPad的全屏
XCode4:
在xcode中4中,我们不能这样做,对于单个XIB,但我们可以一次全部创建各自的ipad版本。
在配置您的项目到ipad,当它被配置仅支持iPhone,右键单击目标,然后单击上的重复。
现在选择“复制和转移到ipad”。新的目标和新的一组xibs是created.It应该减少一些工作。
希望它能帮助。
<强>的Xcode 4 强>:
在创建的iPad版使用自动调整大小面具功能已从Xcode的4去除。 现在最简单的方法是使用的Xcode 3的转换中,由于笔尖(的.xib)文件格式没有变化。
的Xcode 3和4通过简单地选择一个不同的文件夹(参见磁盘映像上安装的说明)。现在可以安装在同一系统上
否则,你将需要复制/粘贴在iPhone版本的UI元素,并将它们重新链接到你的代码。
关于让计算机做什么电脑的工作吗?点击 更快,错误的风险更小。
下面是一种基于从 href="https://stackoverflow.com/a/7813409/272342">优良答案的工作流,而是使用sed自动化。
首先,让我们来设置一些东西。我们只需要操作一次。结果 在包含您的XIBs目录,创建两个文件具有以下内容:
文件iPhoneToiPadXIBConversion.sed
:
s/com.apple.InterfaceBuilder3.CocoaTouch.XIB/com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB/g
s/IBCocoaTouchFramework/IBIPadFramework/g
和文件iPadToiPhoneXIBConversion.sed
:
s/com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB/com.apple.InterfaceBuilder3.CocoaTouch.XIB/g
s/IBIPadFramework/IBCocoaTouchFramework/g
,点击 安装现已完成。 要转换XIB,输入在终端中的两个下列命令之一:
<强> iPhone到iPad转换:强>
sed -f iPhoneToiPadXIBConversion.sed MyViewController~iphone.xib > MyViewController.xib
<强> iPad来iPhone转换:强>
sed -f iPadToiPhoneXIBConversion.sed MyViewController.xib > MyViewController~iphone.xib
结果
,点击 点击 只是为了好玩,让我们创建两个函数在zsh中,做得更简单的转换:
function convertiPadXIBToiPhone () {
newXibName=`echo "$1" | /usr/bin/sed "s/.xib/~iphone.xib/"`
`/usr/bin/sed -f iPadToiPhoneXIBConversion.sed "$1" > "$newXibName"`
echo "Did convert $1 to $newXibName."
}
function convertiPhoneXIBToiPad () {
newXibName=`echo "$1" | /usr/bin/sed "s/~iphone.xib/.xib/"`
`/usr/bin/sed -f iPhoneToiPadXIBConversion.sed "$1" > "$newXibName"`
echo "Did convert $1 to $newXibName."
}
具有将此添加到你的zsh的配置后,转换XIB是一个简单的为:
convertiPadXIBToiPhone MyViewController.xib
或
convertiPhoneXIBToiPad MyViewController.xib
打开使用的XCode 4中的XIB“视图作为源代码”。
之前
在问题备份笔尖。
一
替代此咕
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
<integer value="1056" key="NS.object.0"/>
</object>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
<integer value="3100" key="NS.object.0"/>
</object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
<string key="IBCocoaTouchPluginVersion">301</string>
此其它黏性物质
<string key="IBDocument.TargetRuntimeIdentifier">IBIPadFramework</string>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
<integer value="3100" key="NS.object.0"/>
</object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
<string key="IBCocoaTouchPluginVersion">301</string>
两个
然后,对于使用集成在IB笔尖每个视图,将其删除,然后打撤消。
三
然后在热水淋浴擦去那恶心的感觉,你可能有。
可以打开XIB作为文本文件和改变的UIView尺寸:
右键点击德导航您的XIB文件并选择“开放......” 打开源文件。
找到的UIView参考和改变帧的值:
<object class="IBUIView" id="191373211">
<string key="NSFrame">{{0, 20}, {768, 1024}}</string>
在Xcode 4.3.2,为我打造iPad版厦门国际银行的被复制的是厦门国际银行文件,并添加~ipad
为后缀的文件名的最简单方法。而同时添加“myVC.xib”和“myVC〜ipad.xib”到项目中。需要注意的是 “〜iPad的” NOT “〜的iPad”。当iPad上运行你的应用程序将自动使用该〜iPad版。这也适用于资源文件(例如图像)。
我能找到目前最好的参考... https://developer.apple.com/库/ IOS /#文档/可可/概念/ LoadingResources / ImageSoundResources / ImageSoundResources.html
的Xcode 5更新
targetRuntime = “iOS.CocoaTouch”
到
targetRuntime = “iOS.CocoaTouch.iPad”
我会文件什么我没有在模式4.5:
fixpattern.sh
cp REPLACEME_Iphone.h REPLACEME_Ipad.h sed -e 's/REPLACEME_Iphone/REPLACEME_Ipad/g' REPLACEME_Ipad.h > REPLACEME_Ipad_tmp.h mv REPLACEME_Ipad_tmp.h REPLACEME_Ipad.h cp REPLACEME_Iphone.m REPLACEME_Ipad.m sed -e 's/REPLACEME_Iphone/REPLACEME_Ipad/g' REPLACEME_Ipad.m > REPLACEME_Ipad_tmp.m mv REPLACEME_Ipad_tmp.m REPLACEME_Ipad.m cp REPLACEME_Iphone.xib REPLACEME_Ipad.xib sed -e 's/com.apple.InterfaceBuilder3.CocoaTouch.XIB /com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB/g' REPLACEME_Ipad.xib > REPLACEME_Ipad_tmp.xib mv REPLACEME_Ipad_tmp.xib REPLACEME_Ipad.xib sed -e 's/IBCocoaTouchFramework/IBIPadFramework/g' REPLACEME_Ipad.xib > REPLACEME_Ipad_tmp.xib mv REPLACEME_Ipad_tmp.xib REPLACEME_Ipad.xib sed -e 's/320, 416/768, 1004/g' REPLACEME_Ipad.xib > REPLACEME_Ipad_tmp.xib mv REPLACEME_Ipad_tmp.xib REPLACEME_Ipad.xib sed -e 's/REPLACEME_Iphone/REPLACEME_Ipad/g' REPLACEME_Ipad.xib > REPLACEME_Ipad_tmp.xib mv REPLACEME_Ipad_tmp.xib REPLACEME_Ipad.xib
创建一个列表的文件你想要转换中
fixfile
, 每个线将一文件的名称,不得延期。如果你原始文件的名字是AAA_Iphone.h
, 只是放AAA
.如果你的原始文件的不是这个模式,需要修改脚本。运行在命令行
cat fixfile | while read line ; do sed -e "s/REPLACEME/${line}/g" fixpattern.sh ; done > fixall.sh
审查和运行
fixall.sh
添加新建立的文件项目
捷豹的答案是伟大的。但有一个陷阱如果XIB打开/创建在Xcode 5。
有关的Xcode 5
1)让iPhone厦门国际银行文件的副本,并将其添加到您的项目
2)右键点击该文件(在xcode中)和打开为>源代码
3)的第二行应该是这样的:
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="4510"
它更改为
<document type="com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB" version="3.0" toolsVersion="4510"
4)第8行应该是这样的:
<rect key="frame" x="0.0" y="0.0" width="320" height="480"/>
它更改为
<rect key="frame" x="0.0" y="64" width="768" height="960"/>
这就是它和你有iPad的厦门国际银行。不过还是真正归功于捷豹。
除了回答捷豹也给出搜索“320460”,并与768,1024替换它,你的厦门国际银行将被重新调整到iPad的尺寸。
有关的Xcode 4,
您不必为每个设备创建单独的靶。相反,你可以更改项目总结通用的设备这将是iPhone了。这是在链路上的Xcode 4.2更新的iOS 5应用到通用回答。因此,它会为你做过渡。
听起来就像是最好的解决办法就是始终发展为iphone第一,那么一旦你完成完成,加上iPad的目标,让Xcode中做更新。我犯同样的错误,选择通用启动,这创造了最初的几个文件,但随后每隔厦门国际银行不得不在iPad文件夹手重建。大痛
Jag has given Great Answer.
在某些情况下。
没有必要你的iPhone XIB转换在ipad XIB。您可以使用Autoresizingmask 并获得运行iPad也。只需要配置你的APP运行 在具有适当autoresizingmask通用模式。
只需更换
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14854.2" targetRuntime="iOS.CocoaTouch"
与
<document type="com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB" version="3.0" toolsVersion="14854.2" targetRuntime="iOS.CocoaTouch.iPad"