0

是否有任何简单的方法可以将现有的 UI 控件属性从一个复制到另一个?就像是

*button1 = *button2;

我知道上述方法行不通,但只是好奇。

是的,是的,我知道可以使用带有 UIControl 视图的 XIB 并以这种方式创建控件。

4

2 回答 2

1

虽然有一些方法可以复制视图层次结构,但它们很老套,应该避免。

于 2013-03-07T20:08:13.150 回答
0

在大多数情况下,NSKeyedArchiver 和 NSKeyedUnarchiver 对我来说效果很好。不过,我从未尝试过克隆具有复杂结构的控件。

extension UIView {
    func deepCopy() -> UIView {

        let data = NSKeyedArchiver.archivedDataWithRootObject(self)
        let copy = NSKeyedUnarchiver.unarchiveObjectWithData(data)!  as! UIView

        return copy
    }
}
于 2015-09-14T20:15:51.013 回答