collision.translatesReferenceBoundsIntoBoundary = YES;
[self.animator addBehavior: collision];
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π²ΠΈΠ΄Π°ΠΌ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π²Π΅ΡΡ Π½ΠΈΠΉ Π²ΠΈΠ΄ ΠΌΠ΅Π½Π΅Π΅ ΡΠ»Π°ΡΡΠΈΡΠ½ΡΠΌ, ΡΠ΅ΠΌ Π½ΠΈΠΆΠ½ΠΈΠΉ:
/* Π’Π΅ΠΏΠ΅ΡΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΡΠ»Π°ΡΡΠΈΡΠ½ΠΎΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² */
UIDynamicItemBehavior *moreElasticItem = [[UIDynamicItemBehavior alloc]
initWithItems:@[bottomView]];
moreElasticItem.elasticity = 1.0f;
UIDynamicItemBehavior *lessElasticItem = [[UIDynamicItemBehavior alloc]
initWithItems:@[topView]];
lessElasticItem.elasticity = 0.5f;
[self.animator addBehavior: moreElasticItem];
[self.animator addBehavior: lessElasticItem];
ΠΡΠ°ΠΊ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΠΊΠ°ΠΊ Π²ΠΈΠ΄Ρ Π±ΡΠ΄ΡΡ ΠΎΡΡΠΊΠ°ΠΊΠΈΠ²Π°ΡΡ ΠΎΡ Π½ΠΈΠΆΠ½Π΅ΠΉ Π³ΡΠ°Π½ΠΈΡΡ ΡΠΊΡΠ°Π½Π°, ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΄Π°ΡΡΡΡΡ ΠΎΠ± Π½Π΅Π΅ (ΡΠΈΡ. 2.4).
Π ΠΈΡ. 2.4. ΠΠ΄ΠΈΠ½ Π²ΠΈΠ΄ ΡΠ»Π°ΡΡΠΈΡΠ½Π΅Π΅ Π΄ΡΡΠ³ΠΎΠ³ΠΎ
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅
Π Π°Π·Π΄Π΅Π» 2.0.
ΠΠ»Π°Π²Π°3. ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ° ΠΈ ΡΠ·ΡΠΊ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
3.0. ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
ΠΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ»ΠΎ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ° Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ. Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² Π²ΠΈΠ΄ΠΎΠ² Π² ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ Π΄Π»Ρ iOS ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠ΄Π°, ΡΠ΅ΡΠ°ΡΡΠ΅Π³ΠΎ ΡΠ°ΠΊΠΈΠ΅ ΡΠΊΠΎΠ±Ρ ΡΡΠΈΠ²ΠΈΠ°Π»ΡΠ½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ, ΠΊΠ°ΠΊ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΡΡΠ΅ΠΉΠΌΠ° Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ, Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΏΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ ΠΈ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΠΈ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π±ΡΠ΄ΡΡ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π²Π΅ΡΡΠΈΡΡ iOS. ΠΡΠΈΡΠ΅ΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΡΠΎΠΌ, Π²Π΅Π΄Ρ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΠΆΠ΅Π»Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΎΠ΄Π½ΠΈΠΌΠΈ ΠΈ ΡΠ΅ΠΌΠΈ ΠΆΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°ΠΌΠΈ Π²ΠΈΠ΄ΠΎΠ² Π½Π° ΡΠ°Π·Π½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ , Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π½Π° iPhone ΠΈ iPad. ΠΠ·-Π·Π° ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ΄ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠ»ΠΎΠΆΠ½ΡΠ΅ΡΡΡ. Apple ΡΠΏΡΠΎΡΡΠΈΠ»Π° Π΄Π»Ρ Π½Π°Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΊΠΈΡ Π·Π°Π΄Π°Ρ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΠ² Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ (Auto Layout). ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ°, Π΄Π°Π²Π½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ²ΡΠ°ΡΡΡ Π² OS X, ΡΠ΅ΠΏΠ΅ΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΈ Π² iOS. Π§ΡΡΡ ΠΏΠΎΠ·ΠΆΠ΅ ΠΌΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎΠ± Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ΅, Π½ΠΎ Π΄Π»Ρ Π½Π°ΡΠ°Π»Π° Ρ ΠΏΠΎΠ·Π²ΠΎΠ»Ρ ΡΠ΅Π±Π΅ ΠΊΡΠ°ΡΠΊΠΎΠ΅ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΈ ΡΠ°ΡΡΠΊΠ°ΠΆΡ, Π΄Π»Ρ ΡΠ΅Π³ΠΎ ΠΎΠ½Π° Π½ΡΠΆΠ½Π°.
ΠΠΎΠΏΡΡΡΠΈΠΌ, Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Π° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π² ΡΠ΅Π½ΡΡΠ΅ ΡΠΊΡΠ°Π½Π°. ΠΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅Π½ΡΡΠΎΠΌ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ ΡΠ΅Π½ΡΡΠΎΠΌ Π²ΠΈΠ΄Π°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ½Π° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΏΡΠΎΡΠ΅Π½Π½ΠΎ ΠΎΠΏΠΈΡΠ°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
β’ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΠΊΠ½ΠΎΠΏΠΊΠΈ center.x ΡΠ°Π²Π½ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Ρ Π²ΠΈΠ΄Π° center.x;
β’ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΠΊΠ½ΠΎΠΏΠΊΠΈ center.y ΡΠ°Π²Π½ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Ρ Π²ΠΈΠ΄Π° center.y.
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Apple Π·Π°ΠΌΠ΅ΡΠΈΠ»ΠΈ, ΡΡΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, ΡΠ΅ΡΠ°Π΅ΠΌΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΎΡΠΌΡΠ»Ρ:
object1.property1 = (object2.property2 * multiplier) + constant value
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π²ΡΠΈΡΡ ΡΡΠΎΠΉ ΡΠΎΡΠΌΡΠ»ΠΎΠΉ, Ρ ΠΌΠΎΠ³Ρ Π±Π΅Π· ΡΡΡΠ΄Π° ΡΠ΅Π½ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ Π² Π΅Π΅ Π²ΡΡΠ΅ΡΡΠΎΡΡΠ΅ΠΌ Π²ΠΈΠ΄Π΅, Π²ΠΎΡ ΡΠ°ΠΊ:
button.center.x = (button.superview.center.x * 1) + 0
button.center.y = (button.superview.center.y * 1) + 0
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠΉ ΠΆΠ΅ ΡΠΎΡΠΌΡΠ»Ρ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π΅Π»Π°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎ-Π½Π°ΡΡΠΎΡΡΠ΅ΠΌΡ ΠΎΡΠ»ΠΈΡΠ½ΡΠ΅ Π²Π΅ΡΠΈ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ iOS β Π²Π΅ΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π½Π΅Π΅ Π±ΡΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ Π½Π΅ΠΎΡΡΡΠ΅ΡΡΠ²ΠΈΠΌΡ. Π iOS SDK Π²ΡΡΠ΅ΡΠΏΠΎΠΌΡΠ½ΡΡΠ°Ρ ΡΠΎΡΠΌΡΠ»Π° ΠΎΠ±Π΅ΡΠ½ΡΡΠ° Π² ΠΊΠ»Π°ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ NSLayoutConstraint. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠΎΠ²Π½ΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ Π² ΡΠ΅Π½ΡΡΠ΅ Π²ΠΈΠ΄Π°, Π²Π»Π°Π΄Π΅ΡΡΠ΅Π³ΠΎ ΡΡΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ, ΡΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ΅Π½ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ x ΠΈ y ΡΡΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠ΅ΡΡ ΠΈΠ΄Π΅Ρ ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π΄Π²ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ. ΠΠΎ Π΄Π°Π»Π΅Π΅ Π² ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅ ΠΌΡ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠΌΡΡ Ρ ΡΠ·ΡΠΊΠΎΠΌ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ (Visual Format Language). ΠΠ½ ΠΎΡΠ»ΠΈΡΠ½ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ iOS ΠΈ Π΅ΡΠ΅ ΡΠΈΠ»ΡΠ½Π΅Π΅ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΌΠ°ΠΊΠ΅ΡΠ°ΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°.
ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΡ ΠΏΠ΅ΡΠ΅ΠΊΡΠ΅ΡΡΠ½ΡΡ Π²ΠΈΠ΄ΠΎΠ². ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ Ρ Π²Π°Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π΄Π²Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ ΠΏΠΎ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ Π±ΡΠ»ΠΎ 100 ΡΠΎΡΠ΅ΠΊ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°, ΡΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅, Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΠΎΡΡ Π±Ρ ΡΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΅Π³ΠΎ ΠΊ ΠΎΠ±ΡΠ΅ΠΌΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΠΎΠ±Π΅ΠΈΡ ΡΡΠΈΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ. Π‘ΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, ΡΡΠΎ Π²Π»Π°Π΄Π΅ΡΡΠΈΠΉ ΠΈΠΌΠΈ Π²ΠΈΠ΄. ΠΠΎΡ ΡΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π°.
β’ ΠΡΠ»ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ Π²ΠΈΠ΄Π°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ Π² ΠΎΠ±ΡΠ΅ΠΌ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΌ Π²ΠΈΠ΄Π΅ (ΡΠΎ Π΅ΡΡΡ Ρ ΠΎΠ±ΠΎΠΈΡ ΡΡΠΈΡ Π²ΠΈΠ΄ΠΎΠ² ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ Π²ΡΡΠ΅ΡΡΠΎΡΡΠΈΠΉ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ Π²ΠΈΠ΄), Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΊ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΌΡ Π²ΠΈΠ΄Ρ.
β’ ΠΡΠ»ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π²ΠΈΠ΄ΠΎΠΌ ΠΈ Π΅Π³ΠΎ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΌ Π²ΠΈΠ΄ΠΎΠΌ, Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΌΡ Π²ΠΈΠ΄Ρ.
β’ ΠΡΠ»ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ Π²ΠΈΠ΄Π°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ Π² ΠΎΠ±ΡΠ΅ΠΌ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΌ Π²ΠΈΠ΄Π΅, Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΡΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠ±ΡΠ΅ΠΌΡ ΠΏΡΠ΅Π΄ΠΊΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΡΡΠΈΡ Π²Π°Ρ Π²ΠΈΠ΄ΠΎΠ².
ΠΠ° ΡΠΈΡ. 3.1 ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄Π΅ΠΉΡΡΠ²ΡΡΡ ΡΡΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ.
Π ΠΈΡ. 3.1. ΠΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΈ Π²ΠΈΠ΄Π°ΠΌΠΈ, ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ ΡΡΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ
ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΊΠ»Π°ΡΡΠ° constraintWithItem: attribute: related By: toItem: attribute: multiplier: constant:, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΠΊΠ»Π°ΡΡΡ NSLayoutConstraint. ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
β’ constraintWithItem β ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠΈΠΏΠ° id. ΠΠ½ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΡ object1 Π² ΡΠΎΡΠΌΡΠ»Π΅, ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΠΎΠΉ ΡΠ°Π½Π΅Π΅;
β’ attribute β ΡΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ property1 Π² Π²ΡΡΠ΅ΡΠΏΠΎΠΌΡΠ½ΡΡΠΎΠΉ ΡΠΎΡΠΌΡΠ»Π΅ ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡΠ½ΠΎΡΠΈΡΡΡΡ ΠΊ ΡΠΈΠΏΡ NSLayoutAttribute;
β’ relatedBy β ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π·Π½Π°ΠΊΡ ΡΠ°Π²Π΅Π½ΡΡΠ²Π° Π² Π½Π°ΡΠ΅ΠΉ ΡΠΎΡΠΌΡΠ»Π΅. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΡΠΈΠΏΡ NSLayoutRelation ΠΈ, ΠΊΠ°ΠΊ Π²Ρ Π²ΡΠΊΠΎΡΠ΅ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΠΌΠΎΠΆΠ΅Ρ Π²ΡΡΡΡΠΏΠ°ΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π·Π½Π°ΠΊΠ° ΡΠ°Π²Π΅Π½ΡΡΠ²Π°, Π½ΠΎ ΠΈ Π² ΡΠΎΠ»ΠΈ Π·Π½Π°ΠΊΠΎΠ² Β«Π±ΠΎΠ»ΡΡΠ΅Β» ΠΈ Β«ΠΌΠ΅Π½ΡΡΠ΅Β». ΠΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ ΡΡΠΈ Π½ΡΠ°Π½ΡΡ Π² Π΄Π°Π½Π½ΠΎΠΉ Π³Π»Π°Π²Π΅;
β’ toItem β ΡΡΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠΈΠΏΠ° id. ΠΠ½ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΡ object2 Π² ΡΠΎΡΠΌΡΠ»Π΅, ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΠΎΠΉ ΡΠ°Π½Π΅Π΅;
β’ attribute β ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ property2 Π² Π²ΡΡΠ΅ΡΠΏΠΎΠΌΡΠ½ΡΡΠΎΠΉ ΡΠΎΡΠΌΡΠ»Π΅ ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡΠ½ΠΎΡΠΈΡΡΡΡ ΠΊ ΡΠΈΠΏΡ NSLayoutAttribute;
β’ multiplier β ΡΡΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠΈΠΏΠ° CGFloat, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΠΉ ΠΌΠ½ΠΎΠΆΠΈΡΠ΅Π»Ρ Π² Π½Π°ΡΠ΅ΠΉ ΡΠΎΡΠΌΡΠ»Π΅;
β’ constant β ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΡΠΈΠΏΡ CGFloat ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ Π² ΡΠΎΡΠΌΡΠ»Π΅.
ΠΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΈΡ ΠΊ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΌΡ Π²ΠΈΠ΄Ρ (ΡΠΈΡ. 3.1), Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π²ΡΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ»Π°ΡΡΠ° UIView:
β’ addConstraint: β ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊ Π²ΠΈΠ΄Ρ ΠΎΠ΄Π½ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° NSLayoutConstraint;
β’ addConstraints: β ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊ Π²ΠΈΠ΄Ρ ΠΌΠ°ΡΡΠΈΠ² ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ. ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΡΠ½ΠΎΡΠΈΡΡΡΡ ΠΊ ΡΠΈΠΏΡ NSLayoutConstraint, Π½ΠΎ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ ΠΎΠ±Π΅ΡΠ½ΡΡΡ Π² ΠΌΠ°ΡΡΠΈΠ² ΡΠΈΠΏΠ° NSArray.
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΅ΡΠ°ΡΡ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·Π½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ, Π² ΡΠ΅ΠΌ Π²Ρ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ Π² ΠΎΡΡΠ°Π²ΡΠ΅ΠΉΡΡ ΡΠ°ΡΡΠΈ ΡΡΠΎΠΉ Π³Π»Π°Π²Ρ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΡΠ΅ΠΌ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ Π·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ ΡΡΠΎΠΉ ΡΠ΅ΠΌΠΎΠΉ, ΡΠ΅ΠΌ ΠΎΡΠ΅Π²ΠΈΠ΄Π½Π΅Π΅ Π±ΡΠ΄Π΅Ρ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°ΠΊΡ: ΠΏΡΠΈΠΌΠ΅Π½ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΡ, Π²Ρ Π²ΡΠ½ΡΠΆΠ΄Π΅Π½Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π²ΡΠ΅ Π½ΠΎΠ²ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΡΠΈΠΏΠ° NSLayoutConstraint. ΠΠ·-Π·Π° ΡΡΠΎΠ³ΠΎ Π²Π°Ρ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΡΠ°Π·ΡΠ°ΡΡΠ°ΡΡΡΡ, Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π΅Π³ΠΎ β ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΡΡΠ»ΠΎΠΆΠ½ΡΡΡΡΡ. ΠΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΡΡΠΎΠΌΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ Apple ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π»Π° ΡΠ·ΡΠΊ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ, ΠΏΠΎΠ»ΡΠ·ΡΡΡΡ ΠΎΠ±ΡΡΠ½ΡΠΌΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ ASCII. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ Π΄Π²Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ ΠΏΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ ΡΡΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π²ΡΠ΅Π³Π΄Π° ΠΎΡΡΡΠΎΡΠ»ΠΈ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π° Π½Π° 100 ΡΠΎΡΠ΅ΠΊ, ΡΠΎ Π½ΡΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π½Π° ΡΠ·ΡΠΊΠ΅ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ ΠΊΠΎΠ΄:
[button1]-100-[button2]
ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ, Π²ΡΡΠ°ΠΆΠ°Π΅ΠΌΡΠ΅ Π½Π° ΡΠ·ΡΠΊΠ΅ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠΎΠ·Π΄Π°ΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΊΠ»Π°ΡΡΠ° constraintsWithVisualFormat: options: metrics: views:, ΠΎΡΠ½ΠΎΡΡΡΠ΅Π³ΠΎΡΡ ΠΊ ΠΊΠ»Π°ΡΡΡ NSLayoutConstraint. ΠΠΎΡ ΠΊΡΠ°ΡΠΊΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°:
β’ constraintsWithVisualFormat β Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ·ΡΠΊΠ΅ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π·Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ΅ ΠΊΠ°ΠΊ NSString;
β’ options β ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠΈΠΏΠ° NSLayoutFormatOptions. ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΠ·ΡΠΊΠΎΠΌ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΎΠΌΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 0;
β’ metrics β ΡΠ»ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π² Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΈ Π½Π° ΡΠ·ΡΠΊΠ΅ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠΎΠΊΠ° ΡΠ°Π΄ΠΈ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π±ΡΠ΄Π΅ΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΡΡΠΎΠΌΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ nil;
β’ views β ΡΡΠΎ ΡΠ»ΠΎΠ²Π°ΡΡ Π²ΠΈΠ΄ΠΎΠ², Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°. Π§ΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°ΠΊΠΎΠΉ ΡΠ»ΠΎΠ²Π°ΡΡ, ΠΏΡΠΎΡΡΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ NSDictionaryOfVariableBindings ΠΈΠ· ΡΠ·ΡΠΊΠ° C ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΠΉΡΠ΅ ΡΡΠΎΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Ρ Π²Π°ΡΠΈ Π½ΠΎΠ²ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ. ΠΠ»ΡΡΠΈ Π² ΡΡΠΎΠΌ ΡΠ»ΠΎΠ²Π°ΡΠ΅ β ΡΡΠΎ Π½Π°Π·Π²Π°Π½ΠΈΡ Π²ΠΈΠ΄ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π°. ΠΠ΅ ΠΏΠ΅ΡΠ΅ΠΆΠΈΠ²Π°ΠΉΡΠ΅, Π΅ΡΠ»ΠΈ ΠΏΠΎΠΊΠ° Π²ΡΠ΅ ΡΡΠΎ ΠΊΠ°ΠΆΠ΅ΡΡΡ ΡΡΡΠ°Π½Π½ΡΠΌ ΠΈ Π΄Π°ΠΆΠ΅ Π±Π΅ΡΡΠΌΡΡΠ»Π΅Π½Π½ΡΠΌ. ΠΡΠΊΠΎΡΠ΅ Π²ΡΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ½ΡΡΠ½ΠΎ! ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π²Ρ ΠΈΠ·ΡΡΠΈΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ², ΡΡΠ°Π·Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ ΡΡΡΠΎΠΉΠ½Π°Ρ ΠΊΠ°ΡΡΠΈΠ½Π°.
ΠΠΎΠΎΡΡΠΆΠΈΠ²ΡΠΈΡΡ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ, Π½Π΅ Π·Π°Π±ΠΈΠ²Π°Ρ Π³ΠΎΠ»ΠΎΠ²Ρ Π½ΠΈΡΠ΅ΠΌ Π»ΠΈΡΠ½ΠΈΠΌ, ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ ΠΊ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠ°Π·Π΄Π΅Π»Π°ΠΌ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π·Π°ΡΡΠ΄ΠΊΠΈ ΠΏΠΎΡΠΏΡΠ°ΠΆΠ½ΡΠ΅ΠΌΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΠΌΠΈ. ΠΠΎΡΠΎΠ²Ρ? ΠΠΎΠ΅Ρ Π°Π»ΠΈ!
3.1. Π Π°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π² ΡΠ΅Π½ΡΡΠ΅ ΡΠΊΡΠ°Π½Π°
ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ
Π’ΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π² ΡΠ΅Π½ΡΡΠ΅ ΡΠΊΡΠ°Π½Π°. ΠΠ½ΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΠΌΡ ΡΠΎΠ±ΠΈΡΠ°Π΅ΠΌΡΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ Π²ΠΈΠ΄ Π² ΡΠ΅Π½ΡΡΠ΅ Π΅Π³ΠΎ Π²ΡΡΠ΅ΡΡΠΎΡΡΠ΅Π³ΠΎ Π²ΠΈΠ΄Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ.
Π Π΅ΡΠ΅Π½ΠΈΠ΅