【发布时间】:2014-08-22 11:54:51
【问题描述】:
所以我有一个我在故事板视图控制器中设计的视图,我想从代码中多次重用该设计。在 XCode 5 中可以做到这一点吗?如果是这样,你能告诉我正确的方向吗?
【问题讨论】:
标签: ios storyboard xcode5
所以我有一个我在故事板视图控制器中设计的视图,我想从代码中多次重用该设计。在 XCode 5 中可以做到这一点吗?如果是这样,你能告诉我正确的方向吗?
【问题讨论】:
标签: ios storyboard xcode5
便宜的方法,给视图打个标签。
然后UIView *view = [UIView viewWithTag:tag];
然后继续复制它,将其添加到视图中。
或者试试这个:
id copyOfView = [NSKeyedUnarchiver unarchiveObjectWithData:[NSKeyedArchiver archivedDataWithRootObject:originalView]];
请记住,并非所有内容都必须正确存档和取消存档(自定义字体、角半径等图层设置),并且应避免使用 IBOutlets,因为它们不会在克隆对象上得到更新。
【讨论】:
UIView 没有实现NSCopying 协议,所以像[view copy] 这样的东西将不起作用。知道如何复制视图而无需我创建一个方法吗?
id copyOfView = [NSKeyedUnarchiver unarchiveObjectWithData:[NSKeyedArchiver archivedDataWithRootObject:originalView]];