以下のコードを実行したいクラスメソッドがあります。問題は、クラスメソッドではself.viewのようなものを使用できないことです。だから私はここで少し立ち往生しています。[self class]の使用についていくつか見つけましたが、コードでそれを使用する方法がよくわかりません。
for (UIView *view in [self.view subviews])
{
if([view isKindOfClass:[Circle class]]) {
[UIView animateWithDuration:0.2 delay:0 options:UIViewAnimationCurveLinear animations:^{
view.alpha = 0;
view.frame = CGRectMake(self.view.frame.size.width/2-35, self.view.frame.size.height/2-35, 70, 70);
} completion:nil];
[view performSelector:@selector(removeFromSuperview) withObject:nil afterDelay:0.4];
} else {
//
}
}
詳細を更新
サークルクラスがあります。そのクラスで私はこのメソッドを持っています
- (IBAction)playerTap:(id)sender {
NSString *numberString;
numberString = [NSString stringWithFormat:@"%i",indexNumber+1];
if (indexNumber < 14)
{
if ([label.text isEqualToString:numberString])
{
[UIView animateWithDuration:0.1 animations:^{
self.transform = CGAffineTransformMakeScale(1.2, 1.2);
} completion:^(BOOL finished) {
[UIView animateWithDuration:0.05 animations:^{
self.transform = CGAffineTransformIdentity;
self.alpha = 0.2;
} completion:nil];
}];
++indexNumber;
}
} else {
self.alpha = 0.2;
[NUMViewController gameHasEnded];
}
}
indexNumber(静的変数)が特定の量に達したときに、NUMViewControllerクラスのメソッドを実行する必要があります。IEの「gameHasEnded」メソッド。
これは、この投稿の冒頭にあるコードを使用したメソッドになります。ビューから他のすべての円インスタンスを削除します。
クラスメソッドは、サークルオブジェクトに対してメソッドを実行していないため、私にとって最も論理的であるように見えましたが、他のクラスのすべてのオブジェクトに影響します。