0
控制的UIImageView動畫流程我使用一個UIImageView通過動畫巴紐圖像來模擬3D。是否可以使用觸摸事件來控制動畫的流動?例如,如果我模擬一個盒子,我可以用手指向左或向右旋轉它嗎?如果不是,你能指向另一個方向嗎?與觸摸事件
控制的UIImageView動畫流程我使用一個UIImageView通過動畫巴紐圖像來模擬3D。是否可以使用觸摸事件來控制動畫的流動?例如,如果我模擬一個盒子,我可以用手指向左或向右旋轉它嗎?如果不是,你能指向另一個方向嗎?與觸摸事件
首先,有兩種方法可以做到這一點,這是使用核心動畫生成多維數據集,並在刷卡或觸摸其旋轉硬盤的方式,第二個(最簡單的)是添加巴紐序列動畫到由UISwipeGestureRecogniser觸發的imageView。
首先創建你的手勢識別器,通常只是把viewDidLoad中
//Implement Swipe Views
UISwipeGestureRecognizer *swipeRight = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipeLeft)];
swipeRight.numberOfTouchesRequired = 1;
swipeRight.direction = UISwipeGestureRecognizerDirectionLeft;
[_imageView addGestureRecognizer:swipeRight];
然後實現你的swipeRight方法,您已在@selector(swipeRight)宣佈,與動畫,你要玩在刷卡......
-(void)swipeRight
{
NSMutableArray *animationArray = [[NSMutableArray alloc] init];
int animationSizeTwo = 30;
for (int i=0; i< animationSize; i++) {
NSString *zeros = @"000";
if (i >= 1000) {
zeros = @"";
}
else if (i >= 100) {
zeros = @"0";
}
else if (i >= 10) {
zeros = @"00";
}
NSString *animationNameTwo = [NSString stringWithFormat:@"(imageName)"];
NSString *imageName = [NSString stringWithFormat:@"%@%@%d.png", animationNameTwo, zeros, i];
[animationArrayTwo addObject:[UIImage imageNamed:imageName]];
}
_imageView.animationImages = animationArray;
_imageView.animationDuration = 1;
_imageView.animationRepeatCount = 1;
_imageView.image = [_imageView.animationImages lastObject];
[_imageView startAnimating];
}
現在,只要你向右滑動動畫火災。您可以複製並粘貼UIGestureRecogniser代碼和改變周圍的一切方法,所以你可以把它燒成兩種方式。當你來實現你的swipeLeft只是改變了動畫序列數是這樣的:
int animationSizeTwo = 0;
for (int i=30; i> animationSize; i--) {
這將旋轉反過來你的動畫。
希望這會有所幫助,讓我知道你上車! T