1

我在界面构建器中创建了一个 UIView,它是滚动视图的子视图。UIView 包含一个按钮和一个标签。我想将此视图用作千篇一律的工具,以便我可以生成此视图的各种实例,这些实例在滚动视图中彼此相邻

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

4

2 回答 2

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
于 2013-03-27T01:42:24.160 回答
0

看看 Entity Framework,这听起来像是您正在寻找的东西,应该有助于减少代码行数

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

于 2013-03-27T01:32:54.750 回答