Я пытаюсь установить кадр моего изображения заранее, а затем преобразовать его с помощью animateWithDuration
. Он отлично работает, пока я не добавлю код анимации. Ошибка, которую я получаю:ошибка при использовании animateWithDuration UIImage switch case
exc_bad_access (код = 2, адрес = 0x0). Случай 1:
[imageView setFrame:CGRectMake(-400, -150, imageView.frame.size.width, imageView.frame.size.height)];
imageView.image = [UIImage imageNamed:@"jennLawrence.JPG"];
[UIView animateWithDuration:55
delay:0.5
options:UIViewAnimationOptionBeginFromCurrentState
animations:(void (^)(void)) ^{
imageView.frame = CGRectMake(0, 50, 80, 0);
}
completion:^(BOOL finished){
imageView.transform=CGAffineTransformIdentity;
}];
Попробуйте заменить 'анимации: (void (^) (void))^{ imageView.frame = CGRectMake (0, 50, 80, 0); } 'by' animations:^{ imageView.frame = CGRectMake (0, 50, 80, 0); } ' – anhtu
Спасибо за ответ. Это заставило изображение анимировать, но, кажется, переопределяет исходный [imageView setFrame: CGRectMake (-400, -150, imageView.frame.size.width, imageView.frame.size.height)]; Теперь изображение начинается с другой точки при первой загрузке. –
Есть ли способ установить исходное положение, которое я хочу для изображения внутри метода ViewDidLoad? Вместо того, чтобы устанавливать его внутри моего оператора switch, а затем снова установить его на 2 строки позже? –