在Interface Builder中更新UIView类

Ale*_*s G 6 xcode interface-builder

我正在XCode界面构建器中构建一个UI.在布置了所需的视图层次结构之后,我意识到靠近层次结构顶部的一个视图应该是a UIScrollView而不是a UIView.

有没有办法轻松地将该视图的类型从UIView更改为UIScrollView,而无需使用自己的子视图层次结构重新布局所有子组件?

ena*_*dun 13

我所知道的最简单方法是右键单击相应的.xib文件并选择Opern As --> Source Code.然后,您可以找到要更改的视图.它看起来像这样.

<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="0gr-sH-vvn">
.
.
.
</view>
Run Code Online (Sandbox Code Playgroud)

将其更改为

<scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="0gr-sH-vvn">
.
.
.
</scrollView>
Run Code Online (Sandbox Code Playgroud)

基本上你需要更改viewto scrollView和其他属性,当你通过界面构建​​器心情下的属性检查器部分更改它们时自动生成(右键单击the.xib文件并选择Opern As --> Interface Builder XIB Document)

  • +1这是最简单的方法,因为在将UIScrollView设置为自定义类之后,接受的答案不会在Inspector中显示UIScrollView属性。例如键盘关闭行为 (2认同)

RLH*_*RLH 8

是的,单击UIView要更改的内容.选择它后,打开Identity Inspector窗格.

在Identity Inspector中,您应该在顶部看到一个名为'Class'的字段,灰色的当前值应该显示为'UIView'.

输入"UIScrollView"并按Enter键.

这将更新您的Nib文件和我的前者UIViewUIScrollView.此外,如果您已将视图连接到a IBOutlet,请确保更新IBOutlet类定义(如果不是)id.

  • 如果要查看ScrollView的Attribute Inspector,则需要像这样编辑nib/storyboard:http://codenetwaves.blogspot.com.br/2012/09/change-view-to-scrollview-in-xcode html的 (6认同)