gpt4 book ai didi

objective-c - 以编程方式复制 ScrollView 中的现有 UIView? ( Storyboard)

转载 作者:行者123 更新时间:2023-12-05 08:34:55 27 4
gpt4 key购买 nike

我使用 Storyboard ,我想以编程方式将现有的 UIView(带有所有“子项”,如 UILabel)复制并添加到 ScrollView。因此,首先我为该 View 创建了一个自定义 UIView 类 (EventView),在其中我通过使用标签标识它们来初始化 UILabel 的新文本。现在我想像这样将这些 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];
}

是否有更好(且有效)的解决方案?谢谢!

最佳答案

要复制 View 或 ui 对象,我在这里学到了一种方法

 NSData *archivedData = [NSKeyedArchiver archivedDataWithRootObject: viewToBeDuplicated];

UIView * newView = [NSKeyedUnarchiver unarchiveObjectWithData: archivedData];

现在您可以使用新 View 做任何您想做的事情。

关于objective-c - 以编程方式复制 ScrollView 中的现有 UIView? ( Storyboard),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15351231/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com