我正在尝试创建一个"动画"对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 = ...但它说&#34;属性没有找到类型&#39; id&#39;的对象。有什么建议吗?
一切都有帮助!提前谢谢!
答案 0 :(得分:3)
假设self.jumpArray
是UIView
个对象的数组,您可以使用setter方法设置中心,而不是使用属性语法:
[self.jumpArray[i] setCenter:somePointValue];
另一个选择是让你的代码更具可读性:
UIView *view = self.jumpArray[i];
view.center = somePointValue;
您还可以使用快速枚举:
for (UIView *view in self.jumpArray) {
view.center = somePointValue;
}