是否有任何簡單的方法將現有的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