是否有任何简单的方法将现有的UI控件属性从一个复制到另一个?像ios UIkit复制UIControl
*button1 = *button2;
我知道上述不会工作,但只是好奇。
是的,是的,我知道可以使用带有UIControl视图的XIB并通过这种方式创建控件。
是否有任何简单的方法将现有的UI控件属性从一个复制到另一个?像ios UIkit复制UIControl
*button1 = *button2;
我知道上述不会工作,但只是好奇。
是的,是的,我知道可以使用带有UIControl视图的XIB并通过这种方式创建控件。
虽然有许多方法可以复制视图层次结构,但它们很难做,应该避免。
我只想复制一个按钮的属性。我想这个问题太多了。 – ort11 2013-03-08 14:57:35
你可以随时写一个帮助函数,如: 'UIButton * CopyButton(UIButton * button){UButton * copy = [[UIButton alloc] initWithFrame:button.frame]; copy.property1 = button.property1; copy.property2 = button.property2; return copy; }' – 2013-03-08 15:52:22
你不得不原谅我不太理解迷你降价...... – 2013-03-08 15:54:48
NSKeyedArchiver & NSKeyedUnarchiver在大多数情况下适用于我。我从来没有尝试克隆具有复杂结构的控件。
extension UIView {
func deepCopy() -> UIView {
let data = NSKeyedArchiver.archivedDataWithRootObject(self)
let copy = NSKeyedUnarchiver.unarchiveObjectWithData(data)! as! UIView
return copy
}
}
尝试使用属性的直接复制。 button1.frame = button2.frame;等等。 – Yanny 2013-03-07 20:02:14
是的,可以做到这一点,正在寻找一个班轮。 – ort11 2013-03-08 14:58:05