How did I get this with Interface Builder (and is it 'legal')

旧城冷巷雨未停 提交于 2019-12-24 10:05:03

问题


So here's a weird one. I've been doing a combination of interface builder and some direct editing of the .xib file and somewhere along the line I managed to produce a button (UIBarButtonItem) on the Toolbar that actually has a label BENEATH the button.

Which I quite like, if only I knew how to get it consistently. Is this a standard thing that can be done with Interface Builder via some obscure methodology? Or is there a well-defined way to do it just by editing the .xib file?

Note too that the toolbar here has also been made taller than normal by editing the .xib file. Is that something that Apple would reject an app for because it doesn't conform to UI style guidelines?


Oh, realized that it might be useful to stick in a snippet of code from the .xib file, so here's the (hopefully pertinent) portion:

                    <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>

回答1:


You really aren't supposed to edit IB files directly.

I don't think Apple will reject an app because of it, since many apps play games by introducing views inside of other views and otherwise playing with the structure of normal components. The thing I'd worry about would by that IB might be confused by some changes.

I'm not sure how you go the label effect to take place, but it might be hard to reproduce.



来源:https://stackoverflow.com/questions/6554641/how-did-i-get-this-with-interface-builder-and-is-it-legal

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!