gpt4 book ai didi

ios - 克隆在界面生成器中定义的 uiview?

转载 作者:行者123 更新时间:2023-11-29 13:16:36 25 4
gpt4 key购买 nike

我在界面生成器中创建了一个 UIView,它是 ScrollView 的 subview 。 UIView 包含一个按钮和一个标签。我想将此 View 用作千篇一律,这样我就可以生成此 View 的各种实例,这些实例在 ScrollView 中彼此相邻

我可以以编程方式执行此操作,但这意味着我必须以编程方式以编程方式定义 View 大小和 subview ,我更愿意做的是在界面生成器中定义一个 View 实例,以便我可以对其进行布局,然后以编程方式创建副本的这个观点。目标是尽可能多地使用 interfacebuilder 来定义布局,以减少我需要编写的代码。

最佳答案

我创建了一个 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

关于ios - 克隆在界面生成器中定义的 uiview?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15650482/

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