Objective-C: setValue: value forKey: xposition
Objective-C: setValue: value forKey: xposition
我正在尝试为 NSMutableArray 中的某些对象创建 "animation" 效果。我设置了它,所以每 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 = ... 但它说“属性 not found on object of type 'id'。有什么建议吗?
任何帮助!提前致谢!
假设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;
}
我正在尝试为 NSMutableArray 中的某些对象创建 "animation" 效果。我设置了它,所以每 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 = ... 但它说“属性 not found on object of type 'id'。有什么建议吗?
任何帮助!提前致谢!
假设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;
}