Π ΠΈΡ. 17.35. ΠΡΡ ΠΎΠ΄Π½ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ· Π²Π΅ΡΡ Π½Π΅Π³ΠΎ Π»Π΅Π²ΠΎΠ³ΠΎ ΡΠ³Π»Π° Π±ΡΠ΄Π΅Ρ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ image 1, Π° ΠΈΠ· ΠΏΡΠ°Π²ΠΎΠ³ΠΎ Π½ΠΈΠΆΠ½Π΅Π³ΠΎ β image 2.
ΠΠ°ΠΊ ΡΠΆΠ΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡ, Π² ΡΡΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΠΌΡ ΡΠΎΠ±ΠΈΡΠ°Π΅ΠΌΡΡ ΡΠΎΠ·Π΄Π°ΡΡ Π΄Π²Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π² Π²Π΅ΡΡ Π½Π΅ΠΌ Π»Π΅Π²ΠΎΠΌ ΠΈ ΠΏΡΠ°Π²ΠΎΠΌ Π½ΠΈΠΆΠ½Π΅ΠΌ ΡΠ³Π»Π°Ρ . ΠΠ°Π»Π΅Π΅ image 1 ΡΡΠ°Π½Π΅Ρ Π΄Π²ΠΈΠ³Π°ΡΡΡΡ ΠΏΠΎ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊ image 2 ΠΈ Π±ΡΠ΄Π΅Ρ ΡΠ°ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡΡΡ Π½Π° ΠΏΡΠΎΡΡΠΆΠ΅Π½ΠΈΠΈ 3 ΡΠ΅ΠΊΡΠ½Π΄, Π° ΠΏΠΎΡΠΎΠΌ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΈΡΡΠ΅Π·Π½Π΅Ρ. ΠΠΎΠ³Π΄Π° image 1 Π½Π°ΡΠ½Π΅Ρ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅, ΡΡΠ°Π½Π΅Ρ Π΄Π²ΠΈΠ³Π°ΡΡΡΡ ΠΈ image 2 β ΠΎΠ½ΠΎ ΠΏΠΎΠΉΠ΄Π΅Ρ Π² Π²Π΅ΡΡ Π½ΠΈΠΉ Π»Π΅Π²ΡΠΉ ΡΠ³ΠΎΠ» ΡΠΊΡΠ°Π½Π°, Π³Π΄Π΅ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΠ»ΠΎΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ image 1. ΠΠΏΡΡΡ ΠΆΠ΅ ΠΌΡ Ρ ΠΎΡΠΈΠΌ, ΡΡΠΎΠ±Ρ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ image 2 Π·Π°Π²Π΅ΡΡΠΈΠ»Π°ΡΡ Π·Π° 3 ΡΠ΅ΠΊΡΠ½Π΄Ρ ΠΈ ΠΎΠ½ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΈΡΡΠ΅Π·Π»ΠΎ. ΠΠΎΠ³Π΄Π° Π²Ρ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΡΠΎΡ ΠΊΠΎΠ΄ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ ΠΈΠ»ΠΈ ΡΠΈΠΌΡΠ»ΡΡΠΎΡΠ΅ iOS, ΡΠ°ΠΊΠ°Ρ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΎΡΠ΅Π½Ρ ΠΊΠ»Π°ΡΡΠ½ΠΎ. Π’Π΅ΠΏΠ΅ΡΡ ΡΠ°ΡΡΠΊΠ°ΠΆΡ, ΠΊΠ°ΠΊ Π²ΡΠ΅ ΡΡΠΎ Π·Π°ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ.
1. Π Π²Π΅ΡΡ Π½Π΅ΠΉ ΡΠ°ΡΡΠΈ. m-ΡΠ°ΠΉΠ»Π° Π½Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° Π²ΠΈΠ΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ Π΄Π²Π° Π²ΠΈΠ΄Π° Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ:
@interface ViewController ()
@property (nonatomic, strong) UIImageView *xcodeImageView1;
@property (nonatomic, strong) UIImageView *xcodeImageView2;
@end
@implementation ViewController
2. Π ΠΌΠ΅ΡΠΎΠ΄Π΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° viewDidLoad, ΠΎΡΠ½ΠΎΡΡΡΠ΅ΠΌΡΡ ΠΊ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ Π²Π°ΡΠ΅Π³ΠΎ Π²ΠΈΠ΄Π°, ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ ΠΎΠ±Π° ΡΡΠΈΡ Π²ΠΈΠ΄Π° Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ ΠΈ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΠΌ ΠΈΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²ΠΈΠ΄:
β (CGRect) bottomRightRect{
CGRect endRect;
endRect.origin.x = self.view.bounds.size.width β 100;
endRect.origin.y = self.view.bounds.size.height β 100;
endRect.size = CGSizeMake(100.0f, 100.0f);
return endRect;
}
β (void) viewDidLoad{
[super viewDidLoad];
UIImage *xcodeImage = [UIImage imageNamed:@"Xcode.png"];
self.xcodeImageView1 = [[UIImageView alloc]
initWithImage: xcodeImage];
self.xcodeImageView2 = [[UIImageView alloc]
initWithImage: xcodeImage];
/* ΠΡΠΎΡΡΠΎ Π·Π°Π΄Π°Π΅ΠΌ ΡΠ°Π·ΠΌΠ΅ΡΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠΌΠ΅Π½ΡΡΠΈΠ»ΠΈΡΡ. */
[xcodeImageView1 setFrame: CGRectMake(0.0f,
0.0f,
100.0f,
100.0f)];
[self.xcodeImageView2 setFrame: [self bottomRightRect]];
self.view.backgroundColor = [UIColor whiteColor];
[self.view addSubview: self.xcodeImageView1];
[self.view addSubview: self.xcodeImageView2];
}
3. Π Π΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌ Π΄Π»Ρ Π½Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° Π²ΠΈΠ΄Π° ΠΌΠ΅ΡΠΎΠ΄ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ startTopLeftImageViewAnimation. ΠΠ°ΠΊ ΠΏΠΎΠ½ΡΡΠ½ΠΎ ΠΈΠ· Π½Π°Π·Π²Π°Π½ΠΈΡ[12], Π΄Π°Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ Π΄Π»Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ image 1, ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Ρ Π΅Π³ΠΎ ΠΈΠ· Π²Π΅ΡΡ Π½Π΅Π³ΠΎ Π»Π΅Π²ΠΎΠ³ΠΎ ΡΠ³Π»Π° ΡΠΊΡΠ°Π½Π° Π² Π½ΠΈΠΆΠ½ΠΈΠΉ ΠΏΡΠ°Π²ΡΠΉ, Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅ΠΌ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ Π±ΡΠ΄Π΅Ρ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΈΡΡΠ΅Π·Π°ΡΡ. Π’Π°ΠΊΠΎΠ΅ ΠΈΡΡΠ΅Π·Π½ΠΎΠ²Π΅Π½ΠΈΠ΅ Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ Π°Π»ΡΡΠ°-Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² 0:
β (void) startTopLeftImageViewAnimation{
/* ΠΠ°ΡΠΈΠ½Π°Π΅ΠΌ Ρ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ Π»Π΅Π²ΠΎΠ³ΠΎ ΡΠ³Π»Π°. */
[self.xcodeImageView1 setFrame: CGRectMake(0.0f,
0.0f,
100.0f,
100.0f)];
[self.xcodeImageView1 setAlpha:1.0f];
[UIView beginAnimations:@"xcodeImageView1Animation"
context:(__bridge void *)self.xcodeImageView1];
/* Π’ΡΠ΅Ρ ΡΠ΅ΠΊΡΠ½Π΄Π½Π°Ρ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ */
[UIView setAnimationDuration:3.0f];
/* ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ Π΄Π΅Π»Π΅Π³Π°ΡΡ. */
[UIView setAnimationDelegate: self];
[UIView setAnimationDidStopSelector:
@selector(imageViewDidStop: finished: context:)];
/* ΠΠ°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΠΌ Π² Π½ΠΈΠΆΠ½Π΅ΠΌ ΠΏΡΠ°Π²ΠΎΠΌ ΡΠ³Π»Ρ. */
[self.xcodeImageView1 setFrame: CGRectMake(220.0f,
350.0f,
100.0f,
100.0f)];
[self.xcodeImageView1 setAlpha:0.0f];
[UIView commitAnimations];
}
4. ΠΠΎΠ³Π΄Π° Π°Π½ΠΈΠΌΠ°ΡΠΈΡ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ ΠΈΠ· ΡΡΠΈΡ Π²ΠΈΠ΄ΠΎΠ² ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ, ΠΌΡ ΡΠ΄Π°Π»ΠΈΠΌ Π΄Π°Π½Π½ΡΠΉ Π²ΠΈΠ΄ ΠΈΠ· ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΡ Π²ΠΈΠ΄ΠΎΠ², ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π±ΠΎΠ»ΡΡΠ΅ Π² Π½Π΅ΠΌ Π½Π΅ Π½ΡΠΆΠ΄Π°Π΅ΠΌΡΡ. ΠΠ°ΠΊ Π±ΡΠ»ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΌΠ΅ΡΠΎΠ΄Π΅ startTopLeftImageViewAnimation, ΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π»ΠΈ ΡΠ΅Π»Π΅ΠΊΡΠΎΡ Π΄Π΅Π»Π΅Π³Π°ΡΠ° ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΊΠ»Π°ΡΡΠ° setAnimationDidStopSelector:, ΠΎΡΠ½ΠΎΡΡΡΠ΅ΠΌΡΡΡ ΠΊ ΠΊΠ»Π°ΡΡΡ UIView. ΠΡΠΎΡ ΡΠ΅Π»Π΅ΠΊΡΠΎΡ Π±ΡΠ΄Π΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΠΏΠΎΡΠ»Π΅ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ image 1 (ΠΊΠ°ΠΊ Π±ΡΠ»ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΡΠ°Π½Π΅Π΅) ΠΈ image 2 (ΠΊΠ°ΠΊ ΠΌΡ Π²ΡΠΊΠΎΡΠ΅ ΡΠ²ΠΈΠ΄ΠΈΠΌ). ΠΠΎΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠΎΠ³ΠΎ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ° Π΄Π΅Π»Π΅Π³Π°ΡΠ°:
β (void)imageViewDidStop:(NSString *)paramAnimationID
finished:(NSNumber *)paramFinished
context:(void *)paramContext{
UIImageView *contextImageView = (__bridge UIImageView *)paramContext;
[contextImageView removeFromSuperview];
}
5. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ Π΄Π»Ρ Π°Π½ΠΈΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ image 2. ΠΠ΅ΠΆΠ΄Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π΄Π»Ρ image 2 ΠΈ image 1 Π΅ΡΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠ°Ρ ΡΠ°Π·Π½ΠΈΡΠ°. Π― Ρ ΠΎΡΡ Π½Π°ΡΠ°ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ image 2, Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅ Π΄ΠΎΠΆΠΈΠ΄Π°ΡΡΡ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ image 1. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π΅ΡΠ»ΠΈ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ image 1 Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ Π·Π° 3 ΡΠ΅ΠΊΡΠ½Π΄Ρ, ΡΠΎ Ρ Π½Π°ΡΠ½Ρ Π°Π½ΠΈΠΌΠΈΡΠΎΠ²Π°ΡΡ image 2 ΡΠΎ Π²ΡΠΎΡΠΎΠΉ ΡΠ΅ΠΊΡΠ½Π΄Ρ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ image 1. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π°Π½ΠΈΠΌΠ°ΡΠΈΡ image 2 Π½Π°ΡΠ½Π΅ΡΡΡ Π΅ΡΠ΅ Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ image 1 Π΄ΠΎΠΉΠ΄Π΅Ρ Π΄ΠΎ Π½ΠΈΠΆΠ½Π΅Π³ΠΎ ΠΏΡΠ°Π²ΠΎΠ³ΠΎ ΡΠ³Π»Π° ΡΠΊΡΠ°Π½Π° ΠΈ ΠΈΡΡΠ΅Π·Π½Π΅Ρ. Π§ΡΠΎΠ±Ρ Π΄ΠΎΡΡΠΈΡΡ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°, Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Ρ Π½Π°ΡΠ°Π»ΠΎ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ Π΄Π»Ρ ΠΎΠ±ΠΎΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ, Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄ Π½Π°ΡΠ°Π»ΠΎΠΌ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ image 2 ΠΏΠΎΡΡΠ°Π²Π»Ρ Π΄Π²ΡΡ ΡΠ΅ΠΊΡΠ½Π΄Π½ΡΡ Π·Π°Π΄Π΅ΡΠΆΠΊΡ. ΠΡΠ°ΠΊ, Π΅ΡΠ»ΠΈ ΠΎΠ±Π΅ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ Π½Π°ΡΠ½ΡΡΡΡ Π² ΡΠ°Ρ Π΄Π½Ρ, ΡΠΎ Π΄Π»Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ image 1 Π½Π°ΡΠ°Π»ΡΠ½ΡΠΌ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΠΌ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ Π±ΡΠ΄Π΅Ρ 13:00:00, Π° ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌ β 13:00:03. Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ image 2 Π±ΡΠ΄ΡΡ ΡΠ°Π²Π½Ρ 13:00:02 ΠΈ 13:00:05. ΠΠΎΡ ΠΊΠ°ΠΊ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ image 2:
β (void) startBottomRightViewAnimationAfterDelay:(CGFloat)paramDelay{
/* ΠΠ°ΡΠΈΠ½Π°Π΅ΠΌ Ρ Π½ΠΈΠΆΠ½Π΅Π³ΠΎ ΠΏΡΠ°Π²ΠΎΠ³ΠΎ ΡΠ³Π»Π°. */
[self.xcodeImageView2 setFrame: [self bottomRightRect]];
[self.xcodeImageView2 setAlpha:1.0f];
[UIView beginAnimations:@"xcodeImageView2Animation"
context:(__bridge void *)self.xcodeImageView2];
/* Π’ΡΠ΅Ρ ΡΠ΅ΠΊΡΠ½Π΄Π½Π°Ρ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ */
[UIView setAnimationDuration:3.0f];
[UIView setAnimationDelay: paramDelay];
/* ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ Π΄Π΅Π»Π΅Π³Π°ΡΡ. */
[UIView setAnimationDelegate: self];
[UIView setAnimationDidStopSelector:
@selector(imageViewDidStop: finished: context:)];
/* ΠΠ°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΠΌ Π² Π²Π΅ΡΡ Π½Π΅ΠΌ Π»Π΅Π²ΠΎΠΌ ΡΠ³Π»Ρ. */
[self.xcodeImageView2 setFrame: CGRectMake(0.0f,
0.0f,
100.0f,
100.0f)];
[self.xcodeImageView2 setAlpha:0.0f];
[UIView commitAnimations];
}
6. Π ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅, Π½ΠΎ Π½Π΅ΠΌΠ°Π»ΠΎΠ²Π°ΠΆΠ½ΠΎΠ΅ Π·Π°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π²ΠΈΠ΄ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡΡ, ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ startTopLeftImageViewAnimation ΠΈ startBottomRightViewAnimationAfterDelay::
β (void) viewDidAppear:(BOOL)paramAnimated{
[super viewDidAppear: paramAnimated];
[self startTopLeftImageViewAnimation];
[self startBottomRightViewAnimationAfterDelay:2.0f];
}
17.15. ΠΠ½ΠΈΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΈΠ΄ΠΎΠ²
ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ
Π’ΡΠ΅Π±ΡΠ΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π°Π½ΠΈΠΌΠΈΡΠΎΠ²Π°ΡΡ Π²ΠΈΠ΄Ρ ΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡ Π² ΡΡΠΎΡΠΎΠ½Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ.
Π Π΅ΡΠ΅Π½ΠΈΠ΅
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π΄Π»Ρ Π²ΠΈΠ΄Π° Π°ΡΡΠΈΠ½Π½ΠΎΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ UIView Π΄Π»Ρ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠ΅ΠΉ.
ΠΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅
ΠΠ΅ΡΠ΅Π΄ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΠΎΠΉ Π½Π°ΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ°ΡΡ ΡΠ°Π·Π΄Π΅Π» 17.14.
Π§ΡΠΎΠ±Ρ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°ΡΡ Π²ΠΈΠ΄, Π°Π½ΠΈΠΌΠΈΡΡΡ Π΅Π³ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ, ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈΠ±ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΊ Π²ΠΈΠ΄Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² Π°Π½ΠΈΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΌ Π±Π»ΠΎΠΊΠ΅ (ΡΠΌ. ΡΠ°Π·Π΄Π΅Π» 17.12), Π»ΠΈΠ±ΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ Π²ΡΡΠΎΡΡ ΠΈ/ΠΈΠ»ΠΈ ΡΠΈΡΠΈΠ½Ρ Π²ΠΈΠ΄Π°.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΌΠ°ΡΡΡΠ°Π± Π²ΠΈΠ΄Π°, ΠΏΡΠΈΠΌΠ΅Π½ΡΡ ΠΊ Π½Π΅ΠΌΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ:
β (void) viewDidAppear:(BOOL)paramAnimated{
[super viewDidAppear: paramAnimated];
/* ΠΠΎΠΌΠ΅ΡΠ°Π΅ΠΌ Π²ΠΈΠ΄ Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π² ΡΠ΅Π½ΡΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° Π΄Π°Π½Π½ΠΎΠ³ΠΎ
ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° Π²ΠΈΠ΄Π°. */
self.xcodeImageView.center = self.view.center;
/* Π£Π±Π΅ΠΆΠ΄Π°Π΅ΠΌΡΡ, ΡΡΠΎ ΠΊ ΡΡΠΎΠΌΡ Π²ΠΈΠ΄Ρ Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π½Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ
ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ΄Π²ΠΈΠ³Π°. */
self.xcodeImageView.transform = CGAffineTransformIdentity;
/* ΠΠ°ΡΠΈΠ½Π°Π΅ΠΌ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ. */
[UIView beginAnimations: nil
context: NULL];
/* ΠΠ½ΠΈΠΌΠ°ΡΠΈΡ ΠΏΡΠΎΠ΄Π»ΠΈΡΡΡ 5 ΡΠ΅ΠΊΡΠ½Π΄. */
[UIView setAnimationDuration:5.0f];
/* ΠΠ΄Π²ΠΎΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΠΌ Π²ΠΈΠ΄ Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π² ΡΠΈΡΠΈΠ½Ρ ΠΈ Π² Π΄Π»ΠΈΠ½Ρ. */
self.xcodeImageView.transform = CGAffineTransformMakeScale(2.0f,
2.0f);
/* ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ. */
[UIView commitAnimations];
}
Π ΡΡΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π°ΡΡΠΈΠ½Π½ΠΎΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π²ΠΈΠ΄ Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π² Π΄Π²Π° ΡΠ°Π·Π° Π±ΠΎΠ»ΡΡΠ΅ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΠΌΠΈ. Π‘Π°ΠΌΠΎΠ΅ Π±ΠΎΠ»ΡΡΠΎΠ΅ Π΄ΠΎΡΡΠΎΠΈΠ½ΡΡΠ²ΠΎ ΡΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π² Ρ ΠΎΠ΄Π΅ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π°ΡΠ°Π»ΠΎ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ (ΡΠ΅Π½ΡΡ) ΠΏΡΠΈ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠΈ ΠΈΠ»ΠΈ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΠΈ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ Π½Π°ΡΠ°Π»ΠΎΠΌ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ (ΡΠ΅Π½ΡΡΠΎΠΌ) ΡΠ°ΠΌΠΎΠ³ΠΎ Π²ΠΈΠ΄Π°. ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ ΡΠ΅Π½ΡΡ Π²Π°ΡΠ΅Π³ΠΎ Π²ΠΈΠ΄Π° ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ Π½Π° ΡΠΊΡΠ°Π½Π΅ Π² ΡΠΎΡΠΊΠ΅ Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌΠΈ (100; 100), Π° Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°ΡΡ Π²ΠΈΠ΄, Π²Π΄Π²ΠΎΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈΠ² Π΅Π³ΠΎ ΡΠΈΡΠΈΠ½Ρ ΠΈ Π²ΡΡΠΎΡΡ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠ΅Π½ΡΡ Π²ΠΈΠ΄Π° ΡΠ°ΠΊ ΠΈ ΠΎΡΡΠ°Π½Π΅ΡΡΡ Π² ΡΠΎΡΠΊΠ΅ (100; 100), Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ ΡΠ°ΠΌ Π²ΠΈΠ΄ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡΡ Π² Π΄Π²Π° ΡΠ°Π·Π°. ΠΡΠ»ΠΈ Π±Ρ ΠΌΡ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π»ΠΈ Π²ΠΈΠ΄, ΡΠ½Π°ΡΠ°Π»Π° ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π΅ΠΌΡ ΡΠΈΡΠΈΠ½Ρ, Π° ΠΏΠΎΡΠΎΠΌ Π²ΡΡΠΎΡΡ, ΡΠΎ Π²ΠΈΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ»ΡΡΠΈΠ»ΡΡ Π±Ρ Π² ΠΈΡΠΎΠ³Π΅, Π½Π°Ρ ΠΎΠ΄ΠΈΠ»ΡΡ Π±Ρ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅ Π² ΡΠΎΠΉ ΡΠΎΡΠΊΠ΅ ΡΠΊΡΠ°Π½Π°, Π³Π΄Π΅ Π±ΡΠ» ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ Π²ΠΈΠ΄. ΠΡΠΎ ΠΎΠ±ΡΡΡΠ½ΡΠ΅ΡΡΡ ΡΠ΅ΠΌ, ΡΡΠΎ, ΠΈΠ·ΠΌΠ΅Π½ΡΡ Π²ΡΡΠΎΡΡ ΠΈ ΡΠΈΡΠΈΠ½Ρ ΡΠ°ΠΌΠΎΠΊ Π²ΠΈΠ΄Π°, Π²Ρ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ x ΠΈ y ΠΊΠΎΠ½ΡΡΡΠ° Π²ΠΈΠ΄Π°, Ρ ΠΎΡΠΈΡΠ΅ Π²Ρ ΡΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅Ρ. ΠΠΎΡΡΠΎΠΌΡ Π²ΠΈΠ΄ Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°ΡΡΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠ΅Π½ΡΡΠ°. ΠΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΊΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π²ΡΡ ΠΎΠ΄ΠΈΡ Π·Π° ΡΠ°ΠΌΠΊΠΈ ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ, Π½ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Ρ ΡΡΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ β ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ, Π²Π°ΠΌ ΡΠ΄Π°ΡΡΡΡ Π½Π°ΠΉΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅. ΠΠ°ΠΌ ΠΎΠ΄Π½Ρ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΡ: ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ Π΄Π²Π΅ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ. ΠΠ΄Π½Π° ΠΈΠ· Π½ΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π΄Π»ΠΈΠ½Ρ ΠΈ ΡΠΈΡΠΈΠ½Ρ Π²ΠΈΠ΄Π°, Π° Π΄ΡΡΠ³Π°Ρ β ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡ ΡΠ΅Π½ΡΡ Π²ΠΈΠ΄Π°.