在 Interface Builder 中交换视图但保持约束
Swap views but maintain constraints in Interface Builder
在 Interface Builder 中,我有一个 UIView
附加了一组复杂的约束。将此 UIView
替换为 UIImageView
而无需重新创建所有约束的最佳方法是什么?
删除 UIView
也会删除其约束。
注意:简单地将 UIView
的 class 设置为 UIImageView
是行不通的,因为它无法提供与图像视图相关的所有可变属性。
我认为您需要再次手动创建所有约束,但我会等待删除旧的 UIView 并将其用作参考,同时将所有约束参数复制到新的 UIImageView 上。
令人恼火的是,对此没有明智的答案。 IB 根本无法让您切换控件类型。哦,Xcode,你真让我们失望了
然而,有一个 hacky 方法可以做到这一点,由这个博客描述:http://codenetwaves.blogspot.com.br/2012/09/change-view-to-scrollview-in-xcode.html
步骤是:
右键单击情节提要,select打开为 --> 源代码
故事板是一个 XML 文件。找到您要更改的视图。将 <view ...> ... </view>
替换为 <imageView ...> ... </imageView>
。不要更改任何其他内容。
再次右键单击故事板,然后在 Interface Builder 中打开。视图已转换为 UIImageView
,您可以访问所有正常的 UIImageView
属性。
在 Interface Builder 中,我有一个 UIView
附加了一组复杂的约束。将此 UIView
替换为 UIImageView
而无需重新创建所有约束的最佳方法是什么?
删除 UIView
也会删除其约束。
注意:简单地将 UIView
的 class 设置为 UIImageView
是行不通的,因为它无法提供与图像视图相关的所有可变属性。
我认为您需要再次手动创建所有约束,但我会等待删除旧的 UIView 并将其用作参考,同时将所有约束参数复制到新的 UIImageView 上。
令人恼火的是,对此没有明智的答案。 IB 根本无法让您切换控件类型。哦,Xcode,你真让我们失望了
然而,有一个 hacky 方法可以做到这一点,由这个博客描述:http://codenetwaves.blogspot.com.br/2012/09/change-view-to-scrollview-in-xcode.html
步骤是:
右键单击情节提要,select打开为 --> 源代码
故事板是一个 XML 文件。找到您要更改的视图。将
<view ...> ... </view>
替换为<imageView ...> ... </imageView>
。不要更改任何其他内容。再次右键单击故事板,然后在 Interface Builder 中打开。视图已转换为
UIImageView
,您可以访问所有正常的UIImageView
属性。