克隆界面构建器中定义的uiview?

时间:2013-03-27 01:31:01

标签: ios uiview interface-builder

我在交互式构建器中创建了一个UIView,它是一个scrollview的子视图。 UIView包含一个按钮和一个标签。我想将此视图用作cookie切割器,以便我可以生成此视图的各种实例,这些实例在scrollview中彼此相邻对齐

我可以以编程方式执行此操作,但这意味着我必须以编程方式定义视图大小和子视图,我更喜欢做的是在界面构建器中定义视图的一个实例,以便我可以将其布局,然后以编程方式创建副本这种观点。目标是尽可能使用interfacebuilder来定义布局,以减少我需要编写的代码。

2 个答案:

答案 0 :(得分:1)

我创建了一个UIView类别来处理这个问题。

@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

答案 1 :(得分:0)

看看实体框架,它听起来像你在寻找什么,应该有助于减少代码行

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