1. ΠΡΠΊΡΠΎΠΉΡΠ΅ Xcode.
2. Π ΠΌΠ΅Π½Ρ File (Π€Π°ΠΉΠ») Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ New β Project (ΠΠΎΠ²ΡΠΉ β ΠΡΠΎΠ΅ΠΊΡ).
3. Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π² Π»Π΅Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΠΊΡΠ°Π½Π° Π²ΡΠ±ΡΠ°Π½Π° ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡ iOS. Π ΡΡΠΎΠΉ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΡΠΊΠ°ΠΆΠΈΡΠ΅ Π²Π°ΡΠΈΠ°Π½Ρ Application (ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅) (ΡΠΈΡ. 17.1)
4. Π ΠΏΡΠ°Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΠΊΡΠ°Π½Π° Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Single View Application (ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ Π²ΠΈΠ΄ΠΎΠΌ) ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ Next (ΠΠ°Π»Π΅Π΅) (ΡΠΈΡ. 17.1).
Π ΠΈΡ. 17.1. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ Π²ΠΈΠ΄ΠΎΠΌ Π΄Π»Ρ iOS Π² Xcode
5. Π ΠΏΠΎΠ»Π΅ Product Name (ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°) (ΡΠΈΡ. 17.2) Π½Π°Π±Π΅ΡΠΈΡΠ΅ ΠΈΠΌΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
Π ΠΈΡ. 17.2. Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π΄Π»Ρ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² Xcode
6. Π ΠΏΠΎΠ»Π΅ Company Identifier (ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ) Π²Π²Π΅Π΄ΠΈΡΠ΅ ΠΏΡΠ΅ΡΠΈΠΊΡ, ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΡΡΠΈΠΉ ΠΏΠ°ΠΊΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΌΡ Π²Π°ΠΌΠΈ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°. ΠΠ±ΡΡΠ½ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ com.company.
7. ΠΠ· ΡΠΏΠΈΡΠΊΠ° Devices (Π£ΡΡΡΠΎΠΉΡΡΠ²Π°) Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Universal, Π° Π·Π°ΡΠ΅ΠΌ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ Next (ΠΠ°Π»Π΅Π΅).
8. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΎΠΊΠ½Π΅ Π²ΡΠ±Π΅ΡΠΈΡΠ΅, Π³Π΄Π΅ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π²Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ, ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ Create (Π‘ΠΎΠ·Π΄Π°ΡΡ).
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ Xcode ΠΎΡΠΊΡΡΡ. Π Π»Π΅Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΎΠΊΠ½Π° Xcode ΡΠ°ΡΠΊΡΠΎΠΉΡΠ΅ Π³ΡΡΠΏΠΏΡ Graphics (ΠΡΠ°ΡΠΈΠΊΠ°) ΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Xcode ΡΠΎΠ·Π΄Π°Π»Π° Π΄Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°. Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ Π²ΠΈΠ΄Π° Π΄Π»Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° Π²ΠΈΠ΄Π°. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°Π³ΠΈ.
1. Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ Π½Π° ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ Π³ΡΡΠΏΠΏΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² Xcode ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ New File (ΠΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ»).
2. Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ New File (ΠΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ») ΡΠ»Π΅Π²Π° Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΡΠΊΠ°Π·Π°Π½ Π²Π°ΡΠΈΠ°Π½Ρ iOS, ΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠΎΠ΄ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Cocoa Touch (ΡΠΈΡ. 17.3)
3. Π ΠΏΡΠ°Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΎΠΊΠ½Π° Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΊΠ»Π°ΡΡ Objective-C, Π° ΠΏΠΎΡΠΎΠΌ Π½Π°ΠΆΠΌΠΈΡΠ΅ Next (ΠΠ°Π»Π΅Π΅) (ΡΠΌ. ΡΠΈΡ. 17.3).
Π ΠΈΡ. 17.3. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Objective-C Π² Xcode
4. Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΎΠΊΠ½Π΅ (ΡΠΈΡ. 17.4) Π² ΠΏΠΎΠ»Π΅ Subclass of (ΠΠΎΠ΄ΠΊΠ»Π°ΡΡ) Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ UIView, Π° ΠΏΠΎΡΠΎΠΌ Π·Π°Π΄Π°ΠΉΡΠ΅ Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΈΠΌΡ View. ΠΠ°Π»Π΅Π΅ ΡΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ» Π½Π° Π΄ΠΈΡΠΊΠ΅ ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ Next (ΠΠ°Π»Π΅Π΅).
Π ΠΈΡ. 17.4. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡΠ° ΠΎΡ UIView
5. Π’Π΅ΠΏΠ΅ΡΡ ΠΎΡΠΊΡΠΎΠΉΡΠ΅ Π²Π°Ρ ΡΠ°ΠΉΠ» ΡΠ°ΡΠΊΠ°Π΄ΡΠΎΠ²ΠΊΠΈ Π΄Π»Ρ iPhone ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Π²ΠΈΠ΄ Π΄Π»Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° Π²ΠΈΠ΄Π°. Π Π°ΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ°Π·Π΄Π΅Π» Utilities (ΠΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½Π°Ρ ΠΎΠ±Π»Π°ΡΡΡ) Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ ΠΈΠΌΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΎΠ³ΠΎ Π²ΠΈΠ΄Π°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π²Π°Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π²ΠΈΠ΄Π°, Π½Π° View (ΡΠΈΡ. 17.5).
Π ΠΈΡ. 17.5. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠ»Π°ΡΡΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° Π²ΠΈΠ΄Π° Π² ΡΠ°ΡΠΊΠ°Π΄ΡΠΎΠ²ΠΊΠ΅
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠ΅ ΠΆΠ΅ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π² ΡΠ°ΠΉΠ»Π΅ ΡΠ°ΡΠΊΠ°Π΄ΡΠΎΠ²ΠΊΠΈ Π΄Π»Ρ iPad. ΠΠ±ΡΡΠ½ΠΎ Π΄Π²Π° ΡΡΠΈΡ ΡΠ°ΠΉΠ»Π° Π½Π°Π·ΡΠ²Π°ΡΡΡΡ Main_iPhone.storyboard ΠΈ Main_iPad.storyboard.
ΠΡΠ°ΠΊ, ΠΌΡ Π³ΠΎΡΠΎΠ²Ρ ΠΏΡΠΈΡΡΡΠΏΠΈΡΡ ΠΊ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ΄Π°. Π Π²Π΅Π΄Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΡΠΈΡΠ»ΠΎΡΡ Π½Π΅ ΡΠ°ΠΊ ΡΠΆ ΠΌΠ½ΠΎΠ³ΠΎ β ΠΏΡΠΎΡΡΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ»Π°ΡΡ Π²ΠΈΠ΄Π°, ΠΎΡΠ½ΠΎΡΡΡΠ΅Π³ΠΎΡΡ ΠΊ ΡΠΈΠΏΡ UIView, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ·ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΊΠΎΠ΄ ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°. ΠΠΎΡΠΎΠΌ ΠΌΡ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ², ΡΡΠΎΠ±Ρ Π·Π°Π΄Π°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠ»Π°ΡΡΠ° Π²ΠΈΠ΄Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° Π²ΠΈΠ΄Π° ΡΠΎΡ ΡΠ°ΠΌΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π²ΠΈΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΡΠ°Π½Π΅Π΅. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π²ΠΈΠ΄ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° Π²ΠΈΠ΄Π° ΡΠ΅ΠΏΠ΅ΡΡ Π±ΡΠ΄Π΅Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠΌ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π½Π°ΠΌΠΈ ΠΊΠ»Π°ΡΡΠ° View.
ΠΠΎΠ»Π°Π³Π°Ρ, Π²Ρ ΡΠΆΠ΅ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅Π»ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ°-Π²ΠΈΠ΄Π°, ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Xcode. ΠΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΠΌΡΡ Π²Π°ΠΆΠ½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° β drawRect:. Cocoa Touch Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π²ΡΡΠΊΠΈΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡ Π²ΡΠ΅ΠΌΡ ΠΎΡΡΠΈΡΠΎΠ²ΡΠ²Π°ΡΡ Π²ΠΈΠ΄. ΠΠ°Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΡΠΈΠΊΠ°Π·Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ-Π²ΠΈΠ΄Ρ ΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π² Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅. Π ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, Cocoa Touch Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π³ΠΎΡΠΎΠ²ΠΈΡ ΡΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ Π΄Π»Ρ Π²ΠΈΠ΄Π°. ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ°Π²Π½ΠΈΡΡ Ρ Ρ ΠΎΠ»ΡΡΠΎΠΌ (Canvas). ΠΠ½ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ²ΠΎΠΉΡΡΠ², Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ ΡΠ²Π΅Ρ ΠΊΠΈΡΡΠΈ (Pen Color), Π΅Π΅ ΡΠΎΠ»ΡΠΈΠ½Ρ (Pen Thickness) ΠΈ Ρ. Π΄. ΠΠΌΠ΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΠ°ΡΡ ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΡΠΌΠΎ Π²Π½ΡΡΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° drawRect:, Π° Cocoa Touch Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ Π°ΡΡΠΈΠ±ΡΡΡ ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° Π±ΡΠ΄ΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½Ρ ΠΊ Π²Π°ΡΠΈΠΌ ΡΠΈΡΡΠ½ΠΊΠ°ΠΌ. ΠΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ ΡΡΠΈ Π΄Π΅ΡΠ°Π»ΠΈ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ, Π° ΠΏΠΎΠΊΠ° ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ ΠΊ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΌ ΡΠ΅ΠΌΠ°ΠΌ.
17.1. ΠΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΡΠΈΡΡΠΎΠ²
ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ
Π’ΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΈΡΡΡ, ΠΏΡΠ΅Π΄ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ Ρ iOS, ΡΡΠΎΠ±Ρ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΡΠ΅ΠΊΡΡ.
Π Π΅ΡΠ΅Π½ΠΈΠ΅
ΠΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ ΠΊΠ»Π°ΡΡΠΎΠΌ UIFont.
ΠΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅
Π¨ΡΠΈΡΡΡ ΠΈΠΌΠ΅ΡΡ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ° Π² Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅. ΠΠΎ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ΅ UIKit ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠ΅ API, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅, Π·Π°Π³ΡΡΠ·ΠΊΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠΈΡΡΠΎΠ². Π Cocoa Touch ΡΡΠΈΡΡΡ Π·Π°ΠΊΠ»ΡΡΠ΅Π½Ρ Π² ΠΊΠ»Π°ΡΡΠ΅ UIFont. Π ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ Ρ iOS Π΅ΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΡΡΠΈΡΡΡ. Π¨ΡΠΈΡΡΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ ΠΏΠΎ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π°ΠΌ (Family), Π° Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π΅ Π΅ΡΡΡ Π³Π°ΡΠ½ΠΈΡΡΡΡ (Faces). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Helvetica β ΡΡΠΎ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ ΡΡΠΈΡΡΠΎΠ², Π° Helvetica Bold β ΠΎΠ΄Π½Π° ΠΈΠ· Π³Π°ΡΠ½ΠΈΡΡΡ ΡΡΠΎΠ³ΠΎ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π°. Π§ΡΠΎΠ±Ρ ΡΡΠΈΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π·Π°Π³ΡΡΠ·ΠΈΡΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°ΡΡ Π³Π°ΡΠ½ΠΈΡΡΡΡ ΡΡΠΈΡΡΠ° (ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π΅Π³ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅), Π° ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ Π³Π°ΡΠ½ΠΈΡΡΡΡ, Π½ΡΠΆΠ½ΠΎ Π·Π½Π°ΡΡ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ. ΠΡΠ°ΠΊ, Π΄Π»Ρ Π½Π°ΡΠ°Π»Π° ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΠΌ Π²ΡΠ΅ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° ΡΡΠΈΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΆΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π΅, Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π²ΡΠΈΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ familyNames ΠΊΠ»Π°ΡΡΠ° UIFont:
β (void) enumerateFonts{
for (NSString *familyName in [UIFont familyNames]){
NSLog(@"Font Family = %@", familyName);
}
}
ΠΠ°ΠΏΡΡΡΠΈΠ² ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΡΠΈΠΌΡΠ»ΡΡΠΎΡΠ΅, Ρ ΠΏΠΎΠ»ΡΡΠΈΠ» ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊΠΈΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ:
Font Family = Thonburi
Font Family = Academy Engraved LE
Font Family = Snell Roundhand
Font Family = Avenir
Font Family = Marker Felt
Font Family = Geeza Pro
Font Family = Arial Rounded MT Bo Font Family = Trebuchet MS
β¦
ΠΡΡΡΡΠΎΠΈΠ² ΡΠ°ΠΊΠΎΠΉ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ² ΡΡΠΈΡΡΠΎΠ², ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΡ Π³Π°ΡΠ½ΠΈΡΡΡΡ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π΅. ΠΡΠ΄Π΅ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ fontNamesForFamilyName: ΠΊΠ»Π°ΡΡΠ° UIFont, Π° Π² ΠΎΡΠ²Π΅Ρ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΌΠ°ΡΡΠΈΠ² Π½Π°Π·Π²Π°Π½ΠΈΠΉ Π³Π°ΡΠ½ΠΈΡΡΡ ΠΈΠ· ΡΠΎΠ³ΠΎ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° ΡΡΠΈΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΡ ΡΠΊΠ°Π·Π°Π»ΠΈ ΠΊΠ°ΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ:
β (void) enumerateFonts{
for (NSString *familyName in [UIFont familyNames]){
NSLog(@"Font Family = %@", familyName);
for (NSString *fontName in
[UIFont fontNamesForFamilyName: familyName]){
NSLog(@"\t%@", fontName);
}
}
}
ΠΠ°ΠΏΡΡΡΠΈΠ² ΡΡΠΎΡ ΠΊΠΎΠ΄ Π² ΡΠΈΠΌΡΠ»ΡΡΠΎΡΠ΅ iOS, ΠΏΠΎΠ»ΡΡΠΈΠΌ:
Font Family = Thonburi Thonburi-Bold Thonburi
Font Family = Academy Eng AcademyEngravedLetPla
Font Family = Snell Round SnellRoundhand-Bold SnellRoundhand-Black SnellRoundhand
β¦
ΠΡΠ°ΠΊ, ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ Thonburi β ΡΡΠΎ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ ΡΡΠΈΡΡΠΎΠ², Π° Thonburi-Bold β ΠΎΠ΄Π½Π° ΠΈΠ· Π³Π°ΡΠ½ΠΈΡΡΡ ΡΡΠΎΠ³ΠΎ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π°. Π’Π΅ΠΏΠ΅ΡΡ, Π·Π½Π°Ρ ΠΈΠΌΡ ΡΡΠΈΡΡΠ°, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΡΡΠΈΡΡΡ Π² ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΠΈΠΏΠ° UIFont Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΊΠ»Π°ΡΡΠ° fontWithName: size:, ΠΎΡΠ½ΠΎΡΡΡΠ΅Π³ΠΎΡΡ ΠΊ ΠΊΠ»Π°ΡΡΡ UIFont:
__unused UIFont *font = [UIFont fontWithName:@"Thonburi-Bold"
size:12.0f];
ΠΡΠ»ΠΈ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠ°Π±ΠΎΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΊΠ»Π°ΡΡΠ° fontWithName: size:, ΠΎΡΠ½ΠΎΡΡΡΠ΅Π³ΠΎΡΡ ΠΊ ΠΊΠ»Π°ΡΡΡ UIFont, ΠΈΠΌΠ΅Π΅ΠΌ nil, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π½Π°ΠΉΡΠΈ ΡΡΠΈΡΡ Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ. Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΡΡΠΈΡΡ Ρ Π·Π°Π΄Π°Π½Π½ΡΠΌ Π²Π°ΠΌΠΈ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ½Π°ΡΠ°Π»Π° ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΠ΅ Π²ΡΠ΅ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° ΡΡΠΈΡΡΠΎΠ², Π° ΠΏΠΎΡΠΎΠΌ Π²ΡΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΡ Π³Π°ΡΠ½ΠΈΡΡΡ ΠΈΠ· ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π°.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° systemFontOfSize:, ΠΎΡΠ½ΠΎΡΡΡΠΈΠΌΡΡ ΠΊ ΠΊΠ»Π°ΡΡΡ UIFont (ΠΈΠ»ΠΈ Π΅Π³ΠΎ Β«ΠΆΠΈΡΠ½ΡΠΌΒ» Π°Π½Π°Π»ΠΎΠ³ΠΎΠΌ, boldSystemFontOfSize:), Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΡΡΠΈΡΡΠΎΠ² β Π³Π΄Π΅ Π±Ρ ΠΎΠ½ΠΈ Π½ΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΠ»ΠΈΡΡ β ΠΏΡΡΠΌΠΎ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π΅, Π³Π΄Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π²Π°Ρ ΠΊΠΎΠ΄. Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ ΡΡΠΈΡΡ Π² iOS β Helvetica.
ΠΠ°Π³ΡΡΠ·ΠΈΠ² ΡΡΠΈΡΡΡ, ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΡ ΠΊ ΡΠ°Π·Π΄Π΅Π»Ρ 17.2. Π’Π°ΠΌ ΠΌΡ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΠΌΠΈ ΡΡΠΈΡΡΠ°ΠΌΠΈ Π΄Π»Ρ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΡΠ΅ΠΊΡΡΠ° Π² Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅.
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅
Π Π°Π·Π΄Π΅Π» 17.2.
17.2. ΠΡΡΠΈΡΠΎΠ²ΠΊΠ° ΡΠ΅ΠΊΡΡΠ°
ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ
Π’ΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΊΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Ρ iOS.
Π Π΅ΡΠ΅Π½ΠΈΠ΅
ΠΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ drawAtPoint: withFont: ΠΊΠ»Π°ΡΡΠ° NSString.
ΠΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅
ΠΠ»Ρ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΡΠ΅ΠΊΡΡΠ° ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΡΠΌΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ, Π²Ρ ΠΎΠ΄ΡΡΠΈΠΌΠΈ Π² ΡΠΎΡΡΠ°Π² ΠΊΠ»Π°ΡΡΠ° NSString. ΠΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΠΊΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² β drawAtPoint: withFont:. ΠΠΎ ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΡΠ°Π±ΠΎΡΡ, Π΅ΡΠ΅ ΡΠ°Π· ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΡΠ΅ΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ Π²ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΈΠ· Π²Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΊ ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅. Π’Π΅ΠΏΠ΅ΡΡ Ρ Π²Π°Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ-Π²ΠΈΠ΄, ΡΠ²Π»ΡΡΡΠΈΠΉΡΡ ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡΠΎΠΌ ΠΎΡ UIView. ΠΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ GraphicsViewControllerView. ΠΡΠΊΡΠΎΠΉΡΠ΅ ΡΡΠΎΡ ΡΠ°ΠΉΠ». ΠΡΠ»ΠΈ Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ ΠΌΠ΅ΡΠΎΠ΄ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° drawRect:, ΠΎΡΠ½ΠΎΡΡΡΠΈΠΉΡΡ ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΡ-Π²ΠΈΠ΄Ρ, ΡΠΎ ΡΠ°ΡΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΡΠΉΡΠ΅ Π΅Π³ΠΎ, ΡΡΠΎΠ±Ρ Π²ΠΊΠ»ΡΡΠΈΡΡ ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π² ΠΎΠ±ΡΠ΅ΠΊΡ:
#import Β«View.hΒ»
@implementation View
β (id)initWithFrame:(CGRect)frame{
self = [super initWithFrame: frame];
if (self) {
// ΠΠΎΠ΄ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ
}
return self;
}
β (void)drawRect:(CGRect)rect{
}
@end
ΠΠΌΠ΅Π½Π½ΠΎ Π² ΠΌΠ΅ΡΠΎΠ΄Π΅ drawRect: Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡΡ Π²ΡΠ΅ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΊΠ°ΠΊ ΠΌΡ ΡΠΊΠ°Π·ΡΠ²Π°Π»ΠΈ ΡΠ°Π½Π΅Π΅. ΠΠ΄Π΅ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΈΡΡΡΠΏΠ°ΡΡ ΠΊ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ ΡΡΠΈΡΡΠ°, Π° ΠΏΠΎΡΠΎΠΌ Π½Π°ΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΠΏΡΠΎΡΡΡΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΡΡΡΠΎΠΊΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ 40 ΠΏΠΎ ΠΎΡΠΈ X ΠΈ Π½Π° ΡΡΠΎΠ²Π½Π΅ 180 ΠΏΠΎ ΠΎΡΠΈ Y (ΡΠΈΡ. 17.6):