我使用Storyboard,我想复制并添加一个现有的UIView(所有“孩子”,如UILabels)以编程方式添加到ScrollView。所以首先我为View (EventView)创建了一个自定义的UIView-Class,其中我通过标识它们来初始化UILabels的新文本。 现在我想将这些EventView添加到Scrollview中,如下所示:
CGRect rect = CGRectMake(0.0, 0.0, 320, 320*10);
UIView *theView = [[UIView alloc] initWithFrame:rect];
for (int i = 0; i<10; i++)
{
CGRect rC = CGRectMake(0.0, 320*i, 320, 320);
EventView *dV = [[EventView alloc] initWithFrame:rC];
[dV inWithEvent:allEvents[i]];//Strings for the UILabels
[theView addSubview:dV];
}
theScrollView.contentSize = rect.size;
[theScrollView addSubview:theView];
}
有更好的(和工作)解决方案吗? 谢谢!
答案 0 :(得分:11)
复制视图或ui对象有一种我在这里学到的方法
NSData *archivedData = [NSKeyedArchiver archivedDataWithRootObject: viewToBeDuplicated];
UIView * newView = [NSKeyedUnarchiver unarchiveObjectWithData: archivedData];
现在,您可以使用新视图执行任何操作。