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

cat*_*ore 3 xcode interface-builder storyboard

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

Rub*_*cio 8

由于界面构建器似乎不直接支持它,我认为您需要自己修改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>
Run Code Online (Sandbox Code Playgroud)

然后你可以改变<label</label>to <view</view>,它将成为一个UIView.

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

希望这可以帮助!