Я сталкиваюсь со странным сбоем моего приложения, который происходит только с iOS5.Кажется, проблема связана с моим основным методом анимации ниже, потому что, когда я не устанавливаю значение для aAnimation.repeatCount или 0, он работает, но когда он вращается, я использую сообщение get SIGABRT с ошибкой: - [NSConcreteValue doubleValue]: нераспознанный селектор отправленЭкземпляр 0x9628100, когда я касаюсь экрана устройства / симулятора.
любая помощь будет оценена
Определение моего вида
- (void)loadView {
CGRect screenRect = [[UIScreen mainScreen] applicationFrame];
UIView *contentView = [[UIView alloc] initWithFrame:screenRect];
contentView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
self.view = contentView;
[contentView release];
}
настройка подпункта
- (void)setUpPlacardView:(NSInteger)picture {
// Create the placard view -- its init method calculates its frame based on its image
PlacardView *aPlacardView = [[PlacardView alloc] init:picture asColor:asColor];
aPlacardView.desaturation = kotucHue;
self.placardView = aPlacardView;
[aPlacardView release];
[self.view addSubview:placardView];
}
Определение SubView
@interface PlacardView : UIView {
UIImage *placardImage;
float saturation;
UIColor *barva;
BOOL switchMode;
}
@property (nonatomic, retain) UIImage *placardImage;
@property (nonatomic) float desaturation;
@property (readwrite) BOOL switchMode;
// Initializer for this object
- (id)init:(NSInteger)picture asColor:(BOOL)farba;
@end
и поворот
- (void)makeKspinning
{
// Create a transform to rotate in the z-axis
float radians = 3.120;
CATransform3D transform;
if (rotation) {
transform = CATransform3DMakeRotation(radians, 0.0, 0.0, 0.0);
}
else
transform = CATransform3DMakeRotation(radians, 0.0, 0.0, 1.0);
CABasicAnimation *aAnimation;
aAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];
CALayer *pLayer = placardView.layer;
aAnimation.toValue = [NSValue valueWithCATransform3D:transform];
aAnimation.duration = spinSpeed;
aAnimation.cumulative = YES;
aAnimation.repeatCount = HUGE_VALF;
[pLayer addAnimation:aAnimation forKey:@"animatePlacardViewToSpin"];
pLayer.opacity = spinOpacity;
}