2011-07-02 14 views
1

所以這裏有一個奇怪的。我一直在做一個界面生成器和一些直接編輯.xib文件的組合,並且在設法在工具欄上生成一個按鈕(UIBarButtonItem)的地方,它實際上有一個標籤BENEATH按鈕。看起來像http://yfrog.com/h4xvjotrj我是如何通過Interface Builder獲得這個的(這是'合法的')

我很喜歡,如果我知道如何一致地得到它。這是一個標準的東西,可以通過一些不太明確的方法使用Interface Builder來完成嗎?還是有一個明確的方式來做到這一點,只需編輯.xib文件?

請注意,通過編輯.xib文件,此處的工具欄也會比平常高。那是因爲Apple不符合UI風格指南而拒絕某個應用程序嗎?

感謝您的任何見解!

-Ron

哦,意識到這可能是從的.xib文件代碼片段貼有用的,所以這裏的(希望相關)部分:

    <object class="IBUIToolbar" id="906120387"> 
        <reference key="NSNextResponder" ref="380026005"/> 
        <int key="NSvFlags">1290</int> 
        <string key="NSFrame">{{0, 426}, {320, 54}}</string> 
        <reference key="NSSuperview" ref="380026005"/> 
        <bool key="IBUIOpaque">NO</bool> 
        <bool key="IBUIClearsContextBeforeDrawing">NO</bool> 
        <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> 
        <object class="NSMutableArray" key="IBUIItems"> 
         <bool key="EncodedWithXMLCoder">YES</bool> 
         <object class="IBUIBarButtonItem" id="594926440"> 
          <string key="IBUITitle">belowbutton</string> 
          <object class="NSCustomResource" key="IBUIImage"> 
           <string key="NSClassName">NSImage</string> 
           <string key="NSResourceName">gear_button.png</string> 
          </object> 
          <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> 
          <float key="IBUIWidth">69</float> 
          <int key="IBUIStyle">1</int> 
          <reference key="IBUIToolbar" ref="906120387"/> 
         </object> 
        </object> 
        <object class="NSColor" key="IBUITintColor"> 
         <int key="NSColorSpace">3</int> 
         <bytes key="NSWhite">MAA</bytes> 
        </object> 
       </object> 

回答

0

你真的AREN不應該直接編輯IB文件。

我不認爲蘋果會因爲它而拒絕一個應用程序,因爲很多應用程序都是通過在其他視圖中引入視圖來玩遊戲,或者使用普通組件的結構來玩遊戲。我擔心的事情可能會因爲一些變化而讓IB感到困惑。

我不知道如何去標籤效果發生,但它可能很難重現。

+0

但是IB不只是一個前端文本/代碼生成器嗎?我可以理解,在某些情況下,您可以生成IB可能無法理解的文件,但對於乾淨的編譯,IB解析不是必需的,是的? –

+0

對於正確的編譯,IB解析是絕對必要的!它必須將代碼轉換爲nib加載器可以使用的內部形式,然後最重要的是nib加載器必須能夠理解它要加載的內容以便實例化對象。就像我說的,我認爲你正在做的事可能會奏效,但我只是讓你知道你在這裏玩火。大多數做這種定製的人通過代碼來完成它... –

相關問題