Tôi đã tìm kiếm rất nhiều thứ SO và trong các tài liệu tham khảo của Apple, nhưng vẫn không thể quản lý được sự cố của mình.
Tôi có gì:
- Một màn hình có 2
UIImageView
giây và 2UIButton
giây được kết nối với chúng - 2 loại hoạt hình:
- Mở rộng tỷ lệ lên và sau đó xuống của từng hình ảnh, cái khác, chỉ một lần trong
viewDidLoad
- Khi nhấn một nút (nút tùy chỉnh ẩn 'bên trong' của mỗi nút
UIImageView
), nó sẽ kích hoạt hoạt ảnh thích hợpUIImageView
–chỉ một, không phải cả hai– (cũng tăng tỷ lệ, sau đó giảm xuống). - Khi tôi đang viết cho iOS4 + Tôi được yêu cầu sử dụng hoạt ảnh dựa trên khối!
- Mở rộng tỷ lệ lên và sau đó xuống của từng hình ảnh, cái khác, chỉ một lần trong
Tôi cân gi:
Làm cách nào để hủy hoạt ảnh đang chạy? Cuối cùng thì tôi cũng đã hủy được, trừ cái cuối cùng ...: /
Đây là đoạn mã của tôi:
[UIImageView animateWithDuration:2.0
delay:0.1
options:UIViewAnimationOptionAllowUserInteraction
animations:^{
isAnimating = YES;
self.bigLetter.transform = CGAffineTransformScale(self.bigLetter.transform, 2.0, 2.0);
} completion:^(BOOL finished){
if(! finished) return;
[UIImageView animateWithDuration:2.0
delay:0.0
options:UIViewAnimationOptionAllowUserInteraction
animations:^{
self.bigLetter.transform = CGAffineTransformScale(self.bigLetter.transform, 0.5, 0.5);
} completion:^(BOOL finished){
if(! finished) return;
[UIImageView animateWithDuration:2.0
delay:0.0
options:UIViewAnimationOptionAllowUserInteraction
animations:^{
self.smallLetter.transform = CGAffineTransformScale(self.smallLetter.transform, 2.0, 2.0);
} completion:^(BOOL finished){
if(! finished) return;
[UIImageView animateWithDuration:2.0
delay:0.0
options:UIViewAnimationOptionAllowUserInteraction
animations:^{
self.smallLetter.transform = CGAffineTransformScale(self.smallLetter.transform, 0.5, 0.5);
}
completion:^(BOOL finished){
if (!finished) return;
//block letter buttons
[self.bigLetterButton setUserInteractionEnabled:YES];
[self.smallLetterButton setUserInteractionEnabled:YES];
//NSLog(@"vieDidLoad animations finished");
}];
}];
}];
}];
Bằng cách nào đó, smallLetter
UIImageView
nó không hoạt động bình thường, bởi vì khi nhấn (nút thông qua) bigLetter
đang hủy hoạt ảnh đúng cách ...
CHỈNH SỬA:
Tôi đã sử dụng giải pháp này, nhưng vẫn gặp sự cố với việc thu nhỏ quy mô smallLetter
UIImageView
- hoàn toàn không hủy ...
giải pháp
EDIT2: Tôi đã thêm điều này vào đầu các phương pháp tiếp theo / trước:
- (void)stopAnimation:(UIImageView*)source {
[UIView animateWithDuration:0.01
delay:0.0
options:(UIViewAnimationOptionBeginFromCurrentState | UIViewAnimationOptionAllowUserInteraction)
animations:^ {
source.transform = CGAffineTransformIdentity;
}
completion:NULL
];
}
sự cố vẫn ...: / không biết cách ngắt hoạt ảnh cuối cùng cho các chữ cái trong chuỗi hoạt ảnh