要添加到其他的答案,這裏是你如何製作動畫:
- (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
NSLog(@"Touches began!");
UITouch *touch= [[event allTouches] anyObject];
CGPoint point= [touch locationInView:touch.view];
UIImage *image = [UIImage imageNamed:@"BluePin.png"];
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
[imageView setFrame: CGRectMake(point.x-(imageView.bounds.size.width/2), point.y-(imageView.bounds.size.width/2), imageView.bounds.size.width, imageView.bounds.size.height)];
[self addSubview: imageView];
//self.currentPins += 1;
[UIView animateWithDuration:2.0 delay:1.0 options:UIViewAnimationOptionCurveLinear animations:^{
[imageView setAlpha:0.0];
} completion:^(BOOL finished) {
[imageView removeFromSuperview];
//self.currentPins -= 1;
}];
// for(;self.currentPins > 10; currentPins -= 1){
// [[[self subviews] objectAtIndex:0] removeFromSuperview];
// }
}
註釋掉的代碼是一點點額外的我寫的假設您擁有一個名爲的@property currentPins,一次將屏幕上的引腳數量限制爲10。經過測試,它的工作原理,假設我在複製,粘貼和評論幾行後沒有搞亂任何東西。
編輯:無視註釋掉的代碼。我實際上混合了兩個版本(一個沒有動畫,一個),所以它被打破了。
你能舉個例子嗎? – Aptlymade
@ user1642948也許更新代碼可以幫助你。 – Mil0R3
非常感謝你!還有一種方法可以讓圖像在一段時間內消失嗎?對不起,新的Xcode =) – Aptlymade