iphone - 如何在 ios 中创建对象的新实例?

标签 iphone ios object sdk clone

我正在研究一个概念,让物体从屏幕顶部掉落。对于这个例子,假设有 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/

相关文章:

c++ - 类构造函数中的条件 C++

iphone - 尝试写入普通目录时 Cocoa 错误 513

iphone - 为越狱的 iOS 制作守护进程

iphone - UILabel 表现得很奇怪

ios - cordova-降级iOS版本

java - Wicket:克隆对象时出现内部错误

python - 理解Python的 `property`和 `__init__`

iphone - Xcode 4.2。问题: Standard (armv7)

iphone - Xcode 4.2 "cell reuse indentifier in nib (Cell) does not match the identifier used to register the nib (ThisCell)"

ios - 如何在iOS中使用XMPP消息的收据?