以编程方式在ScrollView中复制现有的UIView?(故事板)

Jon*_*han 1 xcode objective-c storyboard uiscrollview uiview

我使用Storyboard,我想复制并添加一个现有的UIView(所有"孩子",如UILabels)以编程方式添加到ScrollView.所以首先我为该视图创建了一个自定义的UIView-Class (EventView),其中我通过标识它们来初始化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];
}
Run Code Online (Sandbox Code Playgroud)

有更好的(和工作)解决方案吗?谢谢!

met*_*eth 11

复制视图或ui对象有一种我在这里学到的方法

 NSData *archivedData = [NSKeyedArchiver archivedDataWithRootObject: viewToBeDuplicated];

 UIView * newView = [NSKeyedUnarchiver unarchiveObjectWithData: archivedData];
Run Code Online (Sandbox Code Playgroud)

现在,您可以使用新视图执行任何操作.