2013-08-20 41 views
0

我创建了一个通用模式的简单计算器应用程序。我有两个xib一个用于iphone和其他ipad。我只在iphone中创建了所有视图设计,我的ipad xib是空白的。现在,当我在ipad上部署我的iphone应用程序时,它的大小与iphone相当。我选择了autoresize选项。我需要在ipad xib中创建相同的iPhone视图来显示正确的显示,还是有其他方法?这是我的应用程序目前在iPad上显示的方式。我需要全屏模式。 ipad view如何调整iphone应用程序的xib视图以适应xcode中的ipad

编辑:这是iphone xib的示例源代码。我应该如何修改这个以适应ipad?

<?xml version="1.0" encoding="UTF-8"?> 
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="8.00"> 
    <data> 
     <int key="IBDocument.SystemTarget">1280</int> 
     <string key="IBDocument.SystemVersion">10K549</string> 
     <string key="IBDocument.InterfaceBuilderVersion">1938</string> 
     <string key="IBDocument.AppKitVersion">1038.36</string> 
     <string key="IBDocument.HIToolboxVersion">461.00</string> 
     <object class="NSMutableDictionary" key="IBDocument.PluginVersions"> 
      <string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 
      <string key="NS.object.0">933</string> 
     </object> 
     <array key="IBDocument.IntegratedClassDependencies"> 
      <string>IBUIView</string> 
      <string>IBUIBarButtonItem</string> 
      <string>IBProxyObject</string> 
      <string>IBUIToolbar</string> 
      <string>IBUITextField</string> 
      <string>IBUITextView</string> 
      <string>IBUITableView</string> 
      <string>IBUITableViewCell</string> 
      <string>IBUIButton</string> 
     </array> 
     <array key="IBDocument.PluginDependencies"> 
      <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 
     </array> 
     <object class="NSMutableDictionary" key="IBDocument.Metadata"> 
      <string key="NS.key.0">PluginDependencyRecalculationVersion</string> 
      <integer value="1" key="NS.object.0"/> 
     </object> 
     <array class="NSMutableArray" key="IBDocument.RootObjects" id="1000"> 
      <object class="IBProxyObject" id="372490531"> 
       <string key="IBProxiedObjectIdentifier">IBFilesOwner</string> 
       <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> 
      </object> 
      <object class="IBProxyObject" id="843779117"> 
       <string key="IBProxiedObjectIdentifier">IBFirstResponder</string> 
       <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> 
      </object> 
      <object class="IBUIView" id="774585933"> 
       <reference key="NSNextResponder"/> 
       <int key="NSvFlags">274</int> 
       <array class="NSMutableArray" key="NSSubviews"> 
        <object class="IBUITextField" id="234836822"> 
         <reference key="NSNextResponder" ref="774585933"/> 
         <int key="NSvFlags">292</int> 
         <string key="NSFrame">{{12, 48}, {286, 31}}</string> 
         <reference key="NSSuperview" ref="774585933"/> 
         <reference key="NSNextKeyView" ref="1066176330"/> 
         <bool key="IBUIOpaque">NO</bool> 
         <bool key="IBUIClipsSubviews">YES</bool> 
         <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> 
         <int key="IBUIContentVerticalAlignment">0</int> 
         <string key="IBUIText">0</string> 
         <int key="IBUIBorderStyle">3</int> 
         <object class="NSColor" key="IBUITextColor"> 
          <int key="NSColorSpace">3</int> 
          <bytes key="NSWhite">MAA</bytes> 
          <object class="NSColorSpace" key="NSCustomColorSpace"> 
           <int key="NSID">2</int> 
          </object> 
         </object> 
         <int key="IBUITextAlignment">2</int> 
         <bool key="IBUIAdjustsFontSizeToFit">YES</bool> 
         <float key="IBUIMinimumFontSize">17</float> 
         <object class="IBUITextInputTraits" key="IBUITextInputTraits"> 
          <int key="IBUIKeyboardType">4</int> 
          <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> 
         </object> 
         <object class="IBUIFontDescription" key="IBUIFontDescription" id="1025764138"> 
          <int key="type">1</int> 
          <double key="pointSize">14</double> 
         </object> 
         <object class="NSFont" key="IBUIFont" id="891898266"> 
          <string key="NSName">Helvetica</string> 
          <double key="NSSize">14</double> 
          <int key="NSfFlags">16</int> 
         </object> 
        </object> 
        <object class="IBUIButton" id="1066176330"> 
         <reference key="NSNextResponder" ref="774585933"/> 
         <int key="NSvFlags">292</int> 
         <string key="NSFrame">{{41, 102}, {50, 50}}</string> 
         <reference key="NSSuperview" ref="774585933"/> 
         <reference key="NSNextKeyView" ref="182110945"/> 
         <bool key="IBUIOpaque">NO</bool> 
         <int key="IBUITag">1</int> 
         <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> 
         <int key="IBUIContentHorizontalAlignment">0</int> 
         <int key="IBUIContentVerticalAlignment">0</int> 
         <int key="IBUIButtonType">1</int> 
         <string key="IBUINormalTitle">1</string> 
         <object class="NSColor" key="IBUIHighlightedTitleColor" id="899681977"> 
          <int key="NSColorSpace">3</int> 
          <bytes key="NSWhite">MQA</bytes> 
         </object> 

           . 
           . 
           . 
           . 

<dictionary class="NSMutableDictionary" key="flattenedProperties"> 
       <string key="-1.CustomClassName">ViewController</string> 
       <string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 
       <string key="-2.CustomClassName">UIResponder</string> 
       <string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 
       <string key="10.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 
       <string key="101.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 
       <string key="103.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 
       <string key="104.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 
       <string key="105.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 
       <string key="106.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 
       <string key="11.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 
       <string key="111.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 
       <string key="12.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 
       <string key="13.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 
       <string key="14.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 
       <string key="15.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 
       <string key="16.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 
       <string key="17.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 
       <real value="0.0" key="17.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/> 
       <string key="18.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 
       <string key="19.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 
       <string key="20.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 
       <string key="21.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 
       <string key="22.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 
       <string key="23.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 
       <string key="24.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 
       <string key="25.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 
       <string key="36.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 
       <string key="6.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 
       <string key="69.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 
       <string key="78.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 
       <string key="82.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 
       <string key="83.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 
       <string key="9.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 
       <string key="94.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 
      </dictionary> 
      <dictionary class="NSMutableDictionary" key="unlocalizedProperties"/> 
      <nil key="activeLocalization"/> 
      <dictionary class="NSMutableDictionary" key="localizations"/> 
      <nil key="sourceID"/> 
      <int key="maxID">125</int> 
     </object> 
     <object class="IBClassDescriber" key="IBDocument.Classes"/> 
     <int key="IBDocument.localizationMode">0</int> 
     <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string> 
     <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool> 
     <int key="IBDocument.defaultPropertyAccessControl">3</int> 
     <string key="IBCocoaTouchPluginVersion">933</string> 
    </data> 
</archive> 
+0

你必须为ipad创建新的xib,然后检查哪个设备正在运行该应用程序,然后相应地打开xib ...您可以在之前的“〜ipad”提及.xib之前为相同名称的ipad创建xib ... – Bhrigesh

+0

@布里奇什我已经有一个ipad的xib。正如我的问题中提到的,我想知道是否必须重新创建ipad xib中的所有按钮和文本字段? – Gamerlegend

+0

是的...你必须为每个按钮设置适合ipad的整个屏幕的框架... – Bhrigesh

回答

0

你需要做两个seprate厦门国际银行和管理所有的按钮,textfiels并添加所有这些新XIB ...

办法从iphone厦门国际银行创建的Ipad XIB ....

1)首先复制iphone xib并粘贴只需更改名称〜ipad.xib给予并将其添加到捆绑

2)现在你有一个2 xib 1是iphone和1是ipad。

3)去到ipad厦门国际银行右键点击它看作为开 - >源代码中打开它,然后你必须找到320480值搜索,在源代码值,改成

768,1024。 ..

就是这样做这样....

1

右键单击XIB。

选择打开为。

选择源代码。

,并在其中修改如下:

<object class="NSArray" key="dict.values"> 
    <bool key="EncodedWithXMLCoder">YES</bool> 
    <string>{320, 480}</string> 
    <string>{480, 320}</string> 
    </object> 

到:

<object class="NSArray" key="dict.values"> 
<bool key="EncodedWithXMLCoder">YES</bool> 
<string>{768, 1024}</string> 
<string>{1024, 768}</string> 
</object> 

That's it. 
+0

如何强制调整大小的按钮(子视图)在超级视图内的位置/位置? –

+0

你也可以通过修改它们的框架来调整它们的大小,就像你用xib做的那样。无论是在源代码模式还是作为界面构建器打开它。或者你可以选择你想调整大小的UIControls并复制它并粘贴到xib所需的任何位置。然后你可以调整它们的框架。 –

0

是!您还必须在其他Xib文件中为iPad创建视图。

0

Converting iPhone xib to iPad xib?

参考捷豹的答案..在那里他指出,

我能够将它缩小到了一些东西,所以这里是为我工作的步骤:

1)使iPhone厦门国际银行文件的副本,并将其添加到您的项目

2)右键单击文件(在Xcode)和开放作为>源代码

3)第二行应该是这样的:

与更换

4)搜索“IBCocoaTouchFramework”和替换所有出现的“IBIPadFramework”

5)保存文件,然后打开为>接口生成器 - iOS设备

该文件可能仍然看起来像一个普通的iPhone厦门国际银行,但是对于我来说,一旦我在属性检查器中将状态栏更改为“黑色”,剩下的xib只是一种“捕捉”到iPad xib

编辑:您也可以这样做== >convert iphone App to IPad

1)选择Universal选项。

2)将代码从现有的iPhone项目转移到新项目中。

3)现在,制作iPad的xib文件,并进行连接(IBOutlets)。

无论您需要平台特定功能(例如iPad的Popover,Split ViewController等),都可以使用IF语句来处理设备特定的功能。

1

我建议使用AutoLayout。如果您使用iPhone的自动布局进行查看,它在iPad上看起来几乎相同,只是更大。 AutoLayout在XIB中非常容易。 另一种可能性是为iPad布局创建单独的XIB。如果你这样做,只需看看描述如何轻松完成的其他答案。

0

在iPhone xib文件中,将目标从iOS.CocoaTouch更改为iOS.CocoaTouch.iPad,现在如果在界面构建器中打开该文件,您将看到iPad的设置。

相关问题