既存の UI コントロール属性を一方から他方にコピーする簡単な方法はありますか? 何かのようなもの
*button1 = *button2;
上記が機能しないことはわかっていますが、ただ興味があります。
はい、はい、UIControl のビューで XIB を使用して、その方法でコントロールを作成できることを知っています。
ビュー階層をコピーする方法はありますが、ハッキーなので避けるべきです。
ほとんどの場合、NSKeyedArchiver と NSKeyedUnarchiver はうまく機能します。ただし、複雑な構造のコントロールを複製しようとしたことはありません。
extension UIView {
func deepCopy() -> UIView {
let data = NSKeyedArchiver.archivedDataWithRootObject(self)
let copy = NSKeyedUnarchiver.unarchiveObjectWithData(data)! as! UIView
return copy
}
}