UISegmentedControl - 在Interface Builder中更改高度

Uri*_*zen 20 iphone height objective-c interface-builder uisegmentedcontrol

我正在创建一些静态自定义UITableViewCells并将其UISegmentedControl拖到其中一个自定义单元格上.

虽然分段控件允许我改变其宽度,但我无法在Interface Builder中更改其高度(该属性在属性检查器的"size"部分中的44处显示为灰色).

我知道UISegmentedControl可以在代码中使用自定义高度创建一个并添加到UITableViewCell.有没有办法在Interface Builder中调整分段控件的高度?

ken*_*der 39

您也可以xib在任何文本编辑器中打开文件,如Dashcode或MacVim或TextEdit - 它是一个XML.然后在那里找到你的元素,在我看来它看起来像:

<object class="IBUISegmentedControl" id="270020637">
    [...]
    <string key="NSFrame">{{20, 154}, {176, 44}}</string>
    [...]
</object>
Run Code Online (Sandbox Code Playgroud)

然后你可以改成44你想要的任何高度 - 你会看到IB的变化.

这适用于IB中无法改变高度的所有元素 - UIPicker也......

  • 非常好.现在责怪苹果不要让我们在IB中首先修改它 (5认同)

小智 35

当您在Interface Builder中固定"高度"时,可以间接更改它(选择段控件然后通过菜单选择Editor -> Pin-> Height).

这将为该控件的约束列表添加一个新的高度约束,然后您可以编辑该约束.更改直接反映在InterfaceBuilder中,如下面的屏幕截图所示.

界面构建器高度约束

  • 很好的帮助.谢谢.仅适用于iOS6,但截至2013年2月,这是iOS设备的83%.http://www.tuaw.com/2013/02/13/chitika-all-versions-of-ios-6-now-account-for-83-1-of-ios-traf/ (4认同)

Dav*_*rek 10

不,它必须在代码中完成.看到这个问题.