我正在研究一个概念,让物体从屏幕顶部掉落。对于这个例子,假设有 4 个对象:红色方 block 、蓝色方 block 、绿色方 block 、黄色方 block 。
我将所有这些对象放置在界面构建器中,并与 .h 文件中给出的名称连接:IBObject UIImageView *greenSquare;例如。
我能够很好地与“greenSquare”交互,让它从 View 的顶部落到底部并从 View 中消失。现在我希望能够重新创建“greenRectangle”并让它再次下降。我不能只重置那个实例,因为在任何给定点,1 个或多个相同的对象会掉落。
最终结果将是 x 数量的任何颜色的方 block 将显示和下降。
我确定我的工作流程是:
- 设定时间挑选方 block
- 位置广场
- 展示广场
- 以 x 速率下降正方形
任何朝着正确方向的插入都会很棒。谢谢大家!
最佳答案
为什么为此使用 InterfaceBuilder - 切换到“仅代码”实现,你应该没问题。
1) 创建图像
UIImage *green = [UIImage imageNamed:@"green.png"];
UIImageView *img = [[UIImageView alloc] initWithImage:green];
[view addSubview:img];
2)定位
img.center = CGPointMake(<RANDOM NUMBER>, -30);
3) 开始动画
4)当它触底时,将其移除
[img removeFromSuperview];
5) 再次将此 img 添加到顶部 ...
如果你想拥有多个这样的绿色 img,你可以一次创建多个。如果一个就够了,你可以在每次动画到达底部时重复使用 img
。
编辑
如果您想从一个 UIImage
创建多个 UIImageView
,请按如下方式操作:
UIImage *img = [UIImage imageNamed:@"green"];
UIImageView *imgView1 = [[UIImageView alloc] initWithImage:img];
imgView1.center = CGPointMake(100, 100);
[self.view addSubview:imgView1];
UIImageView *imgView2 = [[UIImageView alloc] initWithImage:img];
imgView2.center = CGPointMake(100, 500);
[self.view addSubview:imgView2];
关于iphone - 如何在 ios 中创建对象的新实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10061094/