可以在故事板上更改元素的类型吗?

时间:2014-07-29 08:45:57

标签: xcode storyboard interface-builder

我将标签放到我的故事板上,设置所有约束。现在,我必须使用UIView - 有没有办法将元素的类型从标签更改为UIView?界面构建器似乎不支持它:我是否必须删除标签,添加新视图并再次设置所有约束?

1 个答案:

答案 0 :(得分:7)

由于界面构建器似乎不直接支持它,我认为您需要自己修改Storyboard代码。使用源代码视图打开它(右键单击 - >打开为)并查找您的标签,类似于:

<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="YWL-BD-gl8">
  <rect key="frame" x="20" y="300" width="42" height="21"/>
  <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
  <constraints>
      <constraint firstAttribute="width" constant="42" id="jAd-Xg-3tc"/>
      <constraint firstAttribute="height" constant="21" id="zeN-Ga-a3U"/>
  </constraints>
  <fontDescription key="fontDescription" type="system" pointSize="17"/>
  <nil key="highlightedColor"/>
</label>

然后,您可以将<label</label>更改为<view</view>,它将成为UIView。

可能有些属性不再需要了(比如<fontDescription>),也许你可以在Interface Builder中添加一个UIView,看看它是如何用XML编码的,看看有什么属性不需要删除它们(只记得在更改为UIViews后不更改标签的ID,因为约束使用该ID)。

希望这有帮助!