所以我有一个 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/