iphone - 多次添加同一个 subview 进行查看

标签 iphone objective-c ios cocoa-touch uiview

我不知道这是否可行,但我想做的是多次向 View 添加一个 subview 。我试过这样的事情:

[self.view addSubview: newView];
newView.center = CGPointMake(160, 100);
[self.view addSubview: newView];
newView.center = CGPointMake(160, 200);
[self.view addSubview: newView];

所有这一切只是移动 newView,而不添加新的。有什么想法吗?

我也试过这个:

[self.view addSubview:newView];
UIView *anotherView = newView;
anotherView.center = CGPointMake(160, 100)
[self.view addSubview:anotherView];

编辑

这是我随着时间的推移学到的解决方案

另一种解决问题的方法是制作一个包含 View 的单独 Nib ,并多次添加 Nib 实例。实现此解决方案的一个很好的模板是按照在 cellForRowAtIndexPath 方法中使用自定义 UITableViewCell 的相同方式执行此操作。

最佳答案

View 只能包含在单个父 View 的层次结构中。一旦将它添加到新的,它就会从前一个中删除。在这种情况下,它被删除并添加回同一 View 的层次结构。您需要制作 subview 的副本以使其多次出现。

关于iphone - 多次添加同一个 subview 进行查看,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7615425/

相关文章:

iphone - 如何在 iPhone 的 xcode 4 中制作 customUI 对象

iphone - LocalPushNotification声音和iPhone的音量按钮

ios - 添加 View Controller 作为启动屏幕

objective-c - 如何在应用程序中使用空格键来调用快速查看

ios - 通过手势拉动显示 View 的隐藏部分

ios - 向对象数组添加二级排序

ios - 如何使用 Swift 将 UIImage 作为 swift3 中的 'source=' 参数上传到 REST API?

iphone - 如何创建一个用图片来命名地名的测验应用程序?

ios - 升级到Beta iOS,然后再次降级有多安全?

ios - 使用 CAGradientLayer 定义渐变的角度