【发布时间】:2015-08-07 15:20:15
【问题描述】:
我正在尝试为 NSMutableArray 中的某些对象创建“动画”效果。我设置了它,所以每 2 秒,对象就会改变它们的 x 值(我不想做一个实际的动画,所以请不要建议一个!):
- (void)jumpLeft {
[self performSelector:@selector(jumpRight) withObject:nil afterDelay: 2.0];
for (int i = 0; i < [self.jumpArray count]; i++) {
[self.jumpArray[i] setValue:@(30*i) forKey: "XPOSITION"];
}
}
- (void)jumpRight {
[self performSelector:@selector(jumpLeft) withObject:nil afterDelay: 2.0];
for (int i = 0; i < [self.jumpArray count]; i++) {
[self.jumpArray[i] setValue:@(20*i) forKey: "XPOSITION"];
}
}
假设它在整个游戏中持续。我的问题是,我输入什么来改变 x 位置?我试着看看人们所说的,我没有找到任何东西。我也尝试过 self.jumpArray[i].center = ... 但它说“在 'id' 类型的对象上找不到属性。有什么建议吗?
任何帮助!提前谢谢!
【问题讨论】:
-
附注我知道输入的值不会使其“向左跳”或“向右跳”,它们或多或少是示例的占位符。
-
jumpArray中的对象是什么?他们是某种UIViews 吗? -
它们是 UILabel -- 抱歉没有澄清
-
您不能对
id类型的对象使用属性访问。相反,调用 setter 方法。[self.jumpArray[i] setCenter:someValue];. -
感谢 rmaddy 完美运行!你想把它写成答案,以便我标记它是正确的吗?
标签: ios objective-c setvalue