ios - 如何在 Swift 中以编程方式复制 View ?自动布局如何影响新创建的 View ?

标签 ios xcode swift

所以我有一个 TableView ,它根据其他一些数据显示许多点。表格 View 中的每个单元格包含不同的数字,并且需要根据该数字显示一定数量的圆点。例如,单元格 1 对应 5 个点,单元格 2 对应 3 个点,依此类推。

由于所有单元格都至少包含一个点,因此我创建了一个包含单个点的原型(prototype)单元格(称为 dotView,这是我正在使用的自定义 View )。

基本上我想将点复制几次以匹配我需要的数字。

这些点是垂直对齐和定位的,所以我只需要复制并粘贴 dotView 本身,但将它视为一个单独的 View ,这样我就可以访问它的成员而不改变任何其他 dotView。

如果成功,我需要自己设置自动布局参数吗?或者它会继承一些原型(prototype)值吗?

最佳答案

如果您只是在 nib( Storyboard)中设计东西,您当然可以做到。您在 Interface Builder 中看到的任何 View 都可以被复制;只需说复制(或按住 Option 键拖动)。然后,您必须完全配置新副本。

但是,当应用程序正在运行时,您不能用代码神奇地“复制和粘贴”界面中的现有 View 。 在代码中 执行此类操作的标准方法是在 .xib 文件中设计自定义 View 。然后,每当您需要此 View 的新副本时,您就可以加载 nib 并检索它。这基本上只是制作此 View (及其所有 subview 、nib 中的设置等)的新但完全配置的实例的一种精心设计的方法。然后,您需要将新实例化的点 View 手动(即在代码中)插入到需要的界面中。它的定位由您决定,如果它需要约束,您也必须添加它们。

关于ios - 如何在 Swift 中以编程方式复制 View ?自动布局如何影响新创建的 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27995846/

相关文章:

ios - touches在约束范围内移动?

ios - 使用相同的全局变量实例化多个 View Controller

ios - swift : How to update a label every second (or shorter) with a timer?

xcode - 无法将应用内购买的托管内容上传到 iTunesConnect

swift - 未命名参数必须使用空名称 '_' 是什么意思?

ios - Firebase 观察方法 - 零星停机?

ios - 使用 Objective-C 将 XMP 数据嵌入到 PNG

xcode - 用于更改Xcode DerivedData位置的命令行选项

ios - 更改配置的顺序

ios - 有什么方法可以强制 UILocalNotification 默认为警报?