2013-03-27 66 views
1

我有一個在界面生成器中創建的UIView,它是scrollview的子視圖。 UIView包含一個按鈕和一個標籤。我想使用這個視圖作爲餅乾切割器,所以我可以生成此視圖的各種實例,在滾動視圖中彼此相鄰排列克隆interfacebuilder中定義的uiview?

我可以通過編程方式完成此操作,但這意味着我必須自動定義視圖大小和子視圖編程方式,我更喜歡在界面構建器中定義視圖的一個實例,這樣我就可以將其展開,然後以編程方式創建此視圖的副本。目標是儘可能多地使用interfacebuilder來定義佈局,以減少我需要編寫的代碼。

回答

0

看一看實體框架,它聽起來就像你在找什麼,應該有助於減少代碼

我創建了一個UIView類來處理這行

http://msdn.microsoft.com/en-US/data/ef

+0

與Microsoft域的任何事情有什麼關係? – 2013-03-27 02:11:08

1

@interface UIView (JLTDeepClone) 
- (id)deepClone; 
@end 

@implementation UIView (JLTDeepClone) 
- (id)deepClone 
{ 
    NSMutableData *data = [NSMutableData data]; 

    NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data]; 
    [archiver encodeObject:self forKey:@"view"]; 
    [archiver finishEncoding]; 

    NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data]; 
    UIView *result = [unarchiver decodeObjectForKey:@"view"]; 
    [unarchiver finishDecoding]; 

    return result; 
} 
@end