ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€, ΠΏΠΎΠ»Π΅Π³Ρ‡Π΅! Выносим ΠΊΠΎΠ΄ Π² UIView

Π£ вас большой UIViewController? Π£ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Π°. Π‘ ΠΎΠ΄Π½ΠΎΠΉ стороны, Π² Π½Ρ‘ΠΌ Ρ€Π°Π±ΠΎΡ‚Π° с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, с Π΄Ρ€ΡƒΠ³ΠΎΠΉ β€” с интСрфСйсом.

Π—Π°Π΄Π°Ρ‡ΠΈ отдСлСния Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΎΡ‚ интСрфСйса описаны Π² сотнях статСй ΠΏΡ€ΠΎ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ: MVP, MVVM, VIPER. Они Ρ€Π΅ΡˆΠ°ΡŽΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ ΠΏΠΎΡ‚ΠΎΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎ Π½Π΅ ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‚ Π½Π° вопрос ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с интСрфСйсом: Π² ΠΎΠ΄Π½ΠΎΠΌ мСстС остаСтся созданиС элСмСнтов, Π»Π΅ΠΉΠ°ΡƒΡ‚, настройка, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π²Π²ΠΎΠ΄Π° ΠΈ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ.

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΎΡ‚Π΄Π΅Π»ΠΈΠΌ view ΠΎΡ‚ controller ΠΈ посмотрим Ρ‡Π΅ΠΌ Π½Π°ΠΌ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ loadView().

loadView()

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ свой класс.

super.loadView() Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ!

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ CustomView :

Руслан ΠšΠ°Π²Π΅Ρ†ΠΊΠΈΠΉ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ» ΡƒΠ±Ρ€Π°Ρ‚ΡŒ Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°:

Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Π½ΡƒΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» ΠΈ подкласс для Π΅Π³ΠΎ UIView Ρ‡Π΅Ρ€Π΅Π· typealias :

Код в подклассС UIView

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ настройка ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΠ²

Π¨Ρ€ΠΈΡ„Ρ‚Ρ‹, Ρ†Π²Π΅Ρ‚Π°, констрСйнты ΠΈ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ прямо Π² конструкторС CustomView:

layoutSubviews()

ΠŸΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Ρ‹, ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Π΅ свойства

Если Π΅ΡΡ‚ΡŒ врСмя, Ρ‚ΠΎ я дСлаю property ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΠ² ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹ΠΌΠΈ, Π½ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽ ΠΈΠΌΠΈ Ρ‡Π΅Ρ€Π΅Π· ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Β«Π² области Π·Π½Π°Π½ΠΈΠΉΒ». ΠŸΡ€ΠΎΡ‰Π΅ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅:

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎ Π² инкапсуляции: внутрСнняя Π»ΠΎΠ³ΠΈΠΊΠ° скрыты Π·Π° интСрфСйсом. НапримСр, Π²Π°Π»ΠΈΠ΄Π½ΠΎΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ Ρ†Π²Π΅Ρ‚ΠΎΠΌ области, Π° Π½Π΅ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π°, Π½ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΎΠ± этом Π½Π΅ ΡƒΠ·Π½Π°Π΅Ρ‚.

Π§Ρ‚ΠΎ остаётся Π²ΠΎ viewDidLoad()?

Если ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Interface Builder, Ρ‚ΠΎ часто viewDidLoad() пустой. Если view ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π² ΠΊΠΎΠ΄Π΅, Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΈΡ… дСйствия Ρ‡Π΅Ρ€Π΅Π· target-action ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½, Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ UIGestureRecognizer ΠΈΠ»ΠΈ ΡΠ²ΡΠ·Π°Ρ‚ΡŒ Π΄Π΅Π»Π΅Π³Π°Ρ‚Ρ‹.

НастраиваСм Ρ‡Π΅Ρ€Π΅Π· Interface Builder

Подкласс для view ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· Interface Builder (Π΄Π°Π»Π΅Π΅ IB).

НуТно Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ view (Π½Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€) ΠΈ Π·Π°Π΄Π°Ρ‚ΡŒ Π΅Π³ΠΎ класс. ΠŸΠΈΡΠ°Ρ‚ΡŒ собствСнный loadView() Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ сдСлаСт это сам. Но ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ UIView всё Π΅Ρ‰Ρ‘ приходится.

ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller

IBOutlet Π² UIView

ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller

ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller

IBAction Π² UIViewController

На ΠΌΠΎΠΉ вкус, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρƒ стоит ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ всС дСйствия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Из стандартных:

Objective-C

ΠšΠΎΠ½Π΅Ρ†

Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π½Π° GitHub ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ классов для простой Π·Π°Π΄Π°Ρ‡ΠΈ: Ρ†Π²Π΅Ρ‚ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π° зависит ΠΎΡ‚ Π΅Π³ΠΎ полоТСния (Π² Π·Π΅Π»Ρ‘Π½ΠΎΠΉ области ΠΎΠ½ Π·Π΅Π»Ρ‘Π½Ρ‹ΠΉ, Π²Π½Π΅ Π΅Ρ‘ β€” красный).

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π–ΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» UIViewController

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ прилоТСния ΠΏΠΎΠ΄ iOS ΠΏΠΈΡˆΡƒΡ‚ΡΡ с использованиСм UIKit, Π° Π·Π½Π°Ρ‡ΠΈΡ‚, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ UIViewController. Они Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΆΠ΅ просты, насколько ΠΈ слоТны. Основная масса слоТностСй Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΈΠ·-Π·Π° нСпонимания Ρ‡Ρ‚ΠΎ, ΠΊΠΎΠ³Π΄Π°, ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ происходит Π²Π½ΡƒΡ‚Ρ€ΠΈ стандартных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² UIViewController.
Π‘Ρ€Π°Π·Ρƒ опрСдСлимся, Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎ самых Π²Π°ΠΆΠ½Ρ‹Ρ… события ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π°. ΠœΡ‹ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ ΠΊΠ°ΡΠ°Ρ‚ΡŒΡΡ вопросов смСны ΠΎΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ устройства, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ событий ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹, ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ процСсса Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ ΠΏΡ€ΠΎΡ‡Π΅Π³ΠΎ.

ΠžΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ, стоит Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π° UIViewController Β«Π²ΠΎΠ·Π»ΠΎΠΆΠ΅Π½Π°Β» ΠΎΠ±ΡΠ·Π°Π½Π½ΠΎΡΡ‚ΡŒ контроля Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Π΄ своим ΠΆΠΈΠ·Π½Π΅Π½Ρ‹ΠΌ Ρ†ΠΈΠΊΠ»ΠΎΠΌ, Π½ΠΎ ΠΈ Π½Π°Π΄ Ρ†ΠΈΠΊΠ»ΠΎΠΌ ΠΆΠΈΠ·Π½ΠΈ собствСнного UIView.

НачнСм с Π½Π°Ρ‡Π°Π»Π°.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ UIViewController
init
initWithNibName:

Π£Π½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½ΠΈΠ΅ UIViewController
dealloc

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ UIView
isViewLoaded
loadView
viewDidLoad
initWith****

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° измСнСния состояния UIView
viewDidLoad
viewWillAppear
viewDidAppear
viewWillDisappear
viewDidDisappear
viewDidUnload

Π£Π½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½ΠΈΠ΅ UIView
viewDidUnload

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π΅Ρ…Π²Π°Ρ‚ΠΊΠΈ памяти
didReceiveMemoryWarning

Β«Π–ΠΈΠ·Π½ΡŒΒ» начинаСтся.
НСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ инциализируСтся ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ (UIViewController) (с ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ *.NIB Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ), происходит Π²Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° init, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΈ появляСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ self, Π²Π΅Ρ€Π½Π΅Π΅, Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ пСрСстаСт Π±Ρ‹Ρ‚ΡŒ nil ΠΈ замСняСтся ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΌ Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Π±Π»ΠΎΠΊ памяти.
Π’ΠΠ–ΠΠž! Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ сам ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€. Никакого Π²ΠΈΠ΄Π° (UIView) Π½Π΅ сущСствуСт (хотя ΠΎΠ½ ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½, Ρ‚.Π΅. ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ self.view Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ). Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ NIB-Ρ‹ β€” Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΎΡƒΡ‚Π»Π΅Ρ‚ΠΎΠ² Π½Π° этом этапС Π΅Ρ‰Π΅ Π½Π΅Ρ‚. БоотвСтствСнно β€” ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° создания ΠΈΠ»ΠΈ обращСния ΠΊ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкС.
БВОИВ ПОМНИВЬ! Π’ любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ Π²ΠΈΠ΄ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈΠ»ΠΈ Π½Π΅Ρ‚ (Π° соотвСтствСнно, ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ элСмСнтам) с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° isViewLoaded. Главная Π΅Π³ΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π½Π΅ Β«ΠΏΡ€ΠΎΠ²ΠΎΡ†ΠΈΡ€ΡƒΠ΅Ρ‚Β» Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²ΠΈΠ΄Π°, Ссли Π΅Ρ‰Π΅ Π½Π΅ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²ΠΈΠ΄Π° (UIView).
Π’ самом ΠΎΠ±Ρ‰Π΅ΠΌ случаС, созданиС Π²ΠΈΠ΄Π° (Π΅Π³ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ) начинаСтся Π² Ρ‚ΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ любоС ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ self.view. Π‘ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½ ΠΌΠ΅Ρ‚ΠΎΠ΄ loadView, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ»ΠΈ созданный пустой Π²ΠΈΠ΄, Π»ΠΈΠ±ΠΎ Π²ΠΈΠ΄ с элСмСнтами ΠΈΠ· NIB-Π°. ИмСнно Π² этот ΠΌΠΎΠΌΠ΅Π½Ρ‚ наш ΠΊΠΎΡ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΈ Π΅Π³ΠΎ Π²ΠΈΠ΄ становятся ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ доступными.
По ΠΎΠΊΠ°Π½Ρ‡Π°Π½ΠΈΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½ ΠΌΠ΅Ρ‚ΠΎΠ΄ viewDidLoad
Π’ΠΠ–ΠΠž! Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π²ΠΈΠ΄Π°, это ΠΈΠΌΠ΅Π½Π½ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ°, Ρ‚.Π΅. Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ всСго Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ для отобраТСния Π²ΠΈΠ΄Π° Π² памяти. НС Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ. ВсС Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠ»ΠΈ ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠ»ΠΈ. Π–Π΄Π΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Β«ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΒ».
БВОИВ ПОМНИВЬ! Если Π²Ρ‹ интСрфСйс создаСтС Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ, Ρ‚.Π΅. с использованиСм ΠΊΠΎΠ΄Π°, Ρ‚ΠΎ собствСнныС элСмСнты интСрфСйса Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ/Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π½Π° Π²ΠΈΠ΄/Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ loadView, Ρ‚Π°ΠΊ ΠΈ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° viewDidLoad.
Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ NIB-Ρ‹, Ρ‚ΠΎ для настройки элСмСнтов интСрфСйса Π²Π°ΠΌ доступСн Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ viewDidLoad.

Π–ΠΈΠ·Π½ΡŒ Π²ΠΈΠ΄Π°.
viewDidLoad β€” Π²ΠΈΠ΄ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π³ΠΎΡ‚ΠΎΠ² ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅. Многим нравится ΠΈΠΌΠ΅Π½Π½ΠΎ Π² этом ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ρ‚.с. Β«Π²Ρ‚ΠΎΡ€ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°Β». ΠŸΡ€ΠΈΠ²Ρ‹Ρ‡ΠΊΠ° β€” вторая Π½Π°Ρ‚ΡƒΡ€Π°.
viewWillAppear β€” Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½ ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π²ΠΈΠ΄Π°. Π’ случаС, Ссли для отобраТСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ анимация β€” ΠΏΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ.
viewDidAppear β€” Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½ послС окончания ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π²ΠΈΠ΄Π°. Π’ случаС, Ссли для отобраТСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ анимация β€” послС окончания Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ отобраТСния.

viewWillDisappear β€” Ρ‚ΠΎΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ viewWillAppear, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ³Π΄Π° Π²ΠΈΠ΄ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΡ‚Π±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅.
viewDidDisappear β€” Ρ‚ΠΎΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ viewDidAppear, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ³Π΄Π° Π²ΠΈΠ΄ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΡ‚Π±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅.

viewDidUnload β€” Π²ΠΈΠ΄ Π²Ρ‹Π³Ρ€ΡƒΠΆΠ΅Π½ ΠΈΠ· памяти
Π’ΠΠ–ΠΠž! Π’Ρ‹Π³Ρ€ΡƒΠΆΠ΅Π½ сам Π²ΠΈΠ΄, Π½ΠΎ Π½Π΅ элСмСнты интСрфСйса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ создавали. ИмСнно Π² этом ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠΈΡ‚ΡŒ. Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ NIB-Ρ‹ β€” ΠΏΡ€ΠΈΡˆΠ»Π° ΠΏΠΎΡ€Π° ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ всС ΠΎΡƒΡ‚Π»Π΅Ρ‚Ρ‹. Если Π²Ρ‹ этого Π½Π΅ сдСлаСтС, систСма Π·Π° вас это Π΄Π΅Π»Π°Ρ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚.

ΠšΠΎΠ½Π΅Ρ† ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡƒΡ‚ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°.
Когда Π²Ρ‹ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ (ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Π½Π΅Π³ΠΎ сброситС Π² nil) ARC очистит Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ для Π½Π΅Π³ΠΎ ΠΏΠ°ΠΌΡΡ‚ΡŒ. ΠŸΠ΅Ρ€Π΅Π΄ этим Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½ ΠΌΠ΅Ρ‚ΠΎΠ΄ dealloc. ИмСнно Π² Π½Π΅ΠΌ Π½ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ очистку ΠΈ ΠΎΠ±Π½ΡƒΠ»Π΅Π½ΠΈΠ΅ всСх ΡƒΠΊΠ°Π·Ρ‚Π΅Π»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ создали для использования Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°.
Π’ΠΠ–ΠΠž! Если Π²ΠΈΠ΄ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Π΅Ρ‰Π΅ отобраТаСтся, Π° Π²Ρ‹ ΠΎΠ±Π½ΡƒΠ»ΠΈΡ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° сам ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€, Ρ‚ΠΎ dealloc β€” Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½, Π° viewDidUnload β€” Π½Π΅Ρ‚, Π²Π΅Ρ€Π½Π΅Π΅, скорСС всСго, Ρ‡Ρ‚ΠΎ Π½Π΅Ρ‚.

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π΅Ρ…Π²Π°Ρ‚ΠΊΠΈ памяти
ΠœΠ΅Ρ‚ΠΎΠ΄ didReceiveMemoryWarning вызываСтся систСмой, ΠΏΡ€ΠΈ Π½Π΅Ρ…Π²Π°Ρ‚ΠΊΠ΅ памяти.
По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, рСализация этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π° для ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ находится Π² Π²ΠΈΠ΄ΠΈΠΌΠΎΠΉ области, Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ освобоТдСниС ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π²ΠΈΠ΄Π°, Ρ‡Ρ‚ΠΎ, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ Π²Ρ‹Π·ΠΎΠ²Ρƒ viewDidUnload.
Π’ любом случаС β€” Ссли систСма Β«ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»Π°Β» (этот ΠΌΠ΅Ρ‚ΠΎΠ΄ β€” это ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅) Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ эффСктивнСй.
БВОИВ ПОМНИВЬ! Π‘ΠΎΠ³ Π»ΡŽΠ±ΠΈΡ‚ Ρ‚Ρ€ΠΎΠΈΡ†Ρƒ. БистСма Π΄Π°ΠΆΠ΄Ρ‹ ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ освобоТдСния памяти (Ссли Π²Ρ‹ Π½Π΅ поняли с ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Ρ€Π°Π·Π°). Π’Ρ€Π΅Ρ‚ΠΈΠΉ Ρ€Π°Π· Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ΄Π΅Ρ‚ вмСстС с остановкой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎ критичСской ошибкС. ВсС ΠΎΡ‡Π΅Π½ΡŒ просто ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎ.

На послСдок…
Π­Ρ‚ΠΎΡ‚ тСкст Π½Π΅ являСтся ΠΏΠΎΠ»Π½ΠΎΠΉ пошаговой инструкциСй. Π― коснулся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Π°ΠΆΠ½Ρ‹Ρ… Π°Π·ΠΎΠ². Π”Π΅Ρ€Π·Π°ΠΉΡ‚Π΅ ΠΈ ΠΏΠΎΠ·Π½Π°Π²Π°ΠΉΡ‚Π΅.
Π’ΠΠ–ΠΠž! Работая с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅ β€” сам взял, сам β€” Π²Π΅Ρ€Π½ΡƒΠ».

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π–ΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» UIViewController

ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller

ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller

Π–ΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» UIViewController

Π’ этом Π²ΠΈΠ΄Π΅ΠΎ ΠΌΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠΌ Ρ†ΠΈΠΊΠ»Π΅ UIViewContrller. Π”Π°Π½Π½ΡƒΡŽ Ρ‚Π΅ΠΌΡƒ часто ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°ΡŽΡ‚ Π½Π° собСсСдованиях ΠΈ Π½Π΅ просто Ρ‚Π°ΠΊ. Π­Ρ‚ΠΎ связано с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ стадии ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° вью ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°. ΠœΡ‹ с Π²Π°ΠΌΠΈ рассмотрим основныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ выясним Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ вступаСт Π² дСйствиС Ρ‚ΠΎΡ‚ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄.
ΠŸΠΎΠ΅Ρ…Π°Π»ΠΈ!

ΠŸΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠΉΡ‚Π΅ΡΡŒ ΠΊ нашСй Π³Ρ€ΡƒΠΏΠΏΠ΅ Π² «Π’ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚Π΅»:
https://vk.com/swiftbook

4 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΡ

А Ссли ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ вью, ΠΏΠΎΡ‚ΠΎΠΌ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΈ снова ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ? ΠŸΡ€ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ ΠΊΠ°ΠΊΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΡΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚?

Π’ контСкстС Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΡΡ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ всС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹.

Π’ΠΈΠ΄Π΅ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅, спасибо, АлСксСй! казалось Π±Ρ‹, ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ курсов ΠΏΡ€ΠΎΠΉΠ΄Π΅Π½ΠΎ, Π° Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΈΠ΅ Π²Π°ΠΆΠ½Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ Ρ€Π°Π½ΡŒΡˆΠ΅ Π½Π΅ Π±Ρ‹Π»ΠΈ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½Ρ‹.

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠžΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚

Для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ коммСнтария Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Xcode ΡƒΡ€ΠΎΠΊΠΈ. Π£Ρ€ΠΎΠΊ 3. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ управлСния ΠΈ прСдставлСния

Π’ этом ΡƒΡ€ΠΎΠΊΠ΅ Ρ€Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ основныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ UIViewController, ΠΊΠ°ΠΊΠΈΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ элСмСнты Π² срСдС Xcode ΠΈ ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ элСмСнты ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° ΠΎΠΊΠ½ΠΎ Π±ΡƒΠ΄ΡƒΡ‰Π΅Π³ΠΎ прилоТСния.

ЦСль ΡƒΡ€ΠΎΠΊΠ°: Знакомство с элСмСнтами управлСния (прСдставлСния) ΠΈ с ΠΈΡ… Π±Π°Π·ΠΎΠ²Ρ‹ΠΌΠΈ классами для создания простого ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса.

Π¨Π°Π±Π»ΠΎΠ½ прилоТСния Single View ΠΈΠΌΠ΅Π΅Ρ‚ Ρ„Π°ΠΉΠ» исходного ΠΊΠΎΠ΄Π°: ViewController.swift. Для отобраТСния содСрТимого Ρ„Π°ΠΉΠ»Π°, достаточно Π΅Π³ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π² Π½Π°Π²ΠΈΠ³Π°Ρ‚ΠΎΡ€Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Π­Ρ‚ΠΎΡ‚ Ρ„Π°ΠΉΠ» опрСдСляСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ подкласс UIViewController с ΠΈΠΌΠ΅Π½Π΅ΠΌ ViewController. Π­Ρ‚ΠΎΡ‚ класс просто наслСдуСт всС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ UIViewController. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ это ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π² UIViewController.

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ UIViewController

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ класса UIViewController (ΠΈ Π΅Π³ΠΎ подклассы) поставляСтся с Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ своСй ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠ΅ΠΉ прСдставлСний. iOS автоматичСски Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ эти ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ врСмя, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ просмотра ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΌΠ΅ΠΆΠ΄Ρƒ состояниями. Π­Ρ‚ΠΎΡ‚ процСсс называСтся ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΌ Ρ†ΠΈΠΊΠ»ΠΎΠΌ ViewController’а.

iOS Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ UIViewController Π² порядкС, ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½ΠΎΠΌ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ‚Π°ΠΊΠΆΠ΅ содСрТится описаниС этих ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ².

ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ вызоваНазваниС ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°
1initΠ˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ.
2loadViewΠ—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΈ созданиС View.
3viewDidLoadΠ­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызываСтся послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ прСдставлСния Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠ» свою ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡŽ прСдставлСний Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ для выполнСния любой Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ настройки, Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠΌ.
4viewWillAppearВызываСтся нСпосрСдствСнно ΠΏΠ΅Ρ€Π΅Π΄ прСдставлСниСм содСрТимого ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° просмотра Π² ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡŽ прСдставлСний прилоТСния. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ для запуска Π»ΡŽΠ±Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π΄ΠΎ прСдставлСния содСрТимого Π½Π° экранС. НСсмотря Π½Π° Π½Π°Π·Π²Π°Π½ΠΈΠ΅, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ систСма Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ этот ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΎΠ½ Π½Π΅ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ просмотр содСрТимого станСт Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌ. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Π²ΠΈΠ΄Π°ΠΌΠΈ ΠΈΠ»ΠΈ скрытыми. ΠžΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ экрана Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π°.
5viewWillLayoutSubviewsВызываСтся ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ экрана.
6viewDidLayoutSubviewsВызываСтся послС обновлСния ΠΎΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ экрана.
7ViewDidAppearВызываСтся сразу послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ прСдставлСниС содСрТимого ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° просмотра Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ Π² ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡŽ прСдставлСний прилоТСния. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ для запуска Π»ΡŽΠ±Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΡ‚ΠΈ, ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ прСдставлСниС Π±ΡƒΠ΄Π΅Ρ‚ прСдставлСно Π½Π° экранС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²Ρ‹Π±ΠΎΡ€ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ. НСсмотря Π½Π° имя, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ систСма Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ этот ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΎΠ½ Π½Π΅ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ содСрТимого. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Π²ΠΈΠ΄Π°ΠΌΠΈ ΠΈΠ»ΠΈ скрытыми. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ просто ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ прСдставлСниС содСрТимого Π±Ρ‹Π»ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ Π² ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡŽ прСдставлСний прилоТСния.
8viewWillDisappearВызываСтся ΠΏΠ΅Ρ€Π΅Π΄ очисткой экрана. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для выполнСния Π·Π°Π΄Π°Ρ‡ очистки.
9viewDidDisappearВызываСтся сразу послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ прСдставлСниС содСрТимого ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° просмотра Π±Ρ‹Π»ΠΎ ΡƒΠ΄Π°Π»Π΅Π½ΠΎ ΠΈΠ· ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ прСдставлСний прилоТСния.

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ управлСния

UIControl – Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ класс для элСмСнтов управлСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ элСмСнтами, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ΅ дСйствиС Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° взаимодСйствиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ управлСния ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса прилоТСния. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ элСмСнты управлСния ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Ρ‹ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅.

Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°ΠšΠ»Π°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅ элСмСнта
ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontrollerUIButtonΠ­Π»Π΅ΠΌΠ΅Π½Ρ‚ управлСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выполняСт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ дСйствия Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° взаимодСйствиС с ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ. Π’Π½Π΅ΡˆΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΠΊΠ½ΠΎΠΏΠΎΠΊ настраиваСтся.
ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontrollerUIDatePickerΠ­Π»Π΅ΠΌΠ΅Π½Ρ‚ управлСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для Π²Π²ΠΎΠ΄Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π΄Π°Ρ‚Ρ‹ ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠ³ ввСсти Π»ΠΈΠ±ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ (ΠΊΠ°Π»Π΅Π½Π΄Π°Ρ€Π½ΡƒΡŽ Π΄Π°Ρ‚Ρƒ, врСмя), Π»ΠΈΠ±ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°).
ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontrollerUIPageControlΠ­Π»Π΅ΠΌΠ΅Π½Ρ‚ управлСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΡƒΡŽ ΡΠ΅Ρ€ΠΈΡŽ Ρ‚ΠΎΡ‡Π΅ΠΊ, каТдая ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… соотвСтствуСт страницС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° прилоТСния ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π°Π½Π½Ρ‹Ρ….
ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontrollerUISegmentedControlΠ“ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт управлСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ состоит ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… сСгмСнтов, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ сСгмСнт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠ°ΠΊ дискрСтная ΠΊΠ½ΠΎΠΏΠΊΠ°.
ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontrollerUISliderΠ­Π»Π΅ΠΌΠ΅Π½Ρ‚ управлСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для Π²Ρ‹Π±ΠΎΡ€Π° ΠΎΠ΄Π½ΠΎΠ³ΠΎ значСния ΠΈΠ· Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.
ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontrollerUIStepperΠ­Π»Π΅ΠΌΠ΅Π½Ρ‚ управлСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для увСличСния ΠΈΠ»ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ значСния.
ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontrollerUISwitchΠ­Π»Π΅ΠΌΠ΅Π½Ρ‚ управлСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ On/Off.

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ прСдставлСния

Если для элСмСнтов управлСния основным классом являСтся UIControl, Ρ‚ΠΎ для элСмСнтов прСдставлСния основным классом являСтся UIView. Π’Π°ΠΊΠΆΠ΅ ΠΊΠΎΡ€Π½Π΅Π²Ρ‹ΠΌ классом для UIControl являСтся класс UIView. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ элСмСнты прСдставлСния ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Ρ‹ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅:

Π’ΠΈΠΏ ViewКласс ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅ элСмСнта
Container ViewsCollection ViewsΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… прСдставлСний с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ настраиваСмого ΠΌΠ°ΠΊΠ΅Ρ‚Π°.
UITableViewΠ’ прСдставлСнии Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ прСдставлСны Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Π΅ΠΌΠΎΠΌ спискС ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… строк, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° Ρ€Π°Π·Π΄Π΅Π»Ρ‹.
UIStackViewΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ интСрфСйс для создания ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ прСдставлСний Π² столбцС ΠΈΠ»ΠΈ строкС.
Container ViewsUIScrollViewΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ позволяСт ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Ρ‚ΡŒ ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свои скрытыС прСдставлСния.
Text ViewsUILabelΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΎΠ΄Π½Ρƒ ΠΈΠ»ΠΈ нСсколько строк тСкста Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ вмСстС с элСмСнтами управлСния для описания ΠΈΡ… ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌΠΎΠΉ Ρ†Π΅Π»ΠΈ.
UITextFieldΠžΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΡƒΡŽ Ρ‚Π΅ΠΊΡΡ‚ΠΎΠ²ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Π² интСрфСйсС.
UITextViewΠŸΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Π΅ΠΌΠ°Ρ многострочная ΠΎΠ±Π»Π°ΡΡ‚ΡŒ тСкста.
UIActivity IndicatorViewΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅, Ρ‡Ρ‚ΠΎ выполняСтся Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ°.
Content ViewsUIImageViewΠžΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΎΠ΄Π½ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π°Π½ΠΈΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² интСрфСйсС.
UIPickerViewΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ отобраТаСтся тСкст с эффСктом Β«ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Π°Β», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ нСсколько Π½Π°Π±ΠΎΡ€ΠΎΠ² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.
UIProgressViewΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Ρ…ΠΎΠ΄ выполнСния Π·Π°Π΄Π°Ρ‡ΠΈ с Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.
UIWebViewΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅, Π²ΡΡ‚Ρ€Π°ΠΈΠ²Π°ΡŽΡ‰Π΅Π΅ Π²Π΅Π±-ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ простого ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° с графичСским интСрфСйсом

Для создания простого ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° достаточно Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² элСмСнты UIButton ΠΈ UILabel. UIButton являСтся ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ, Π° UILabel ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ тСкст. Для добавлСния достаточно Β«Ρ‚ΡΠ½ΡƒΡ‚ΡŒΒ» Π½ΡƒΠΆΠ½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π½Π° экран Π±ΡƒΠ΄ΡƒΡ‰Π΅Π³ΠΎ прилоТСния. Π›ΡŽΠ±ΠΎΠΉ элСмСнт ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ строку поиска:

ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller

НСобходимо ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ элСмСнту Label тСкст Β«Hello WorldΒ», Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ – Β«Press MeΒ». Π£ XCode Π΅ΡΡ‚ΡŒ Π΄Π²Π° свойства, Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ элСмСнты интСрфСйса с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ: IBActions (ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ управлСния (дСйствия) ΠΈ IBOutlets (ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π²Ρ‹Ρ…ΠΎΠ΄Π°)). [ΠŸΠ΅Ρ€Π²Ρ‹Π΅ Π΄Π²Π΅ Π±ΡƒΠΊΠ²Ρ‹ IB ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ Interface Builder]

УдСрТивая ΠΊΠ½ΠΎΠΏΠΊΡƒ CTRL Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π΅, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅Ρ‚Π°Ρ‰ΠΈΡ‚ΡŒ ΠΎΡ‚ элСмСнта Label ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ синюю линию Π½Π° ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ Ρ„Π°ΠΉΠ» ViewController с ΠΊΠΎΠ΄ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² свободноС мСсто Π² классС ViewController:

ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller

Π’ появившСмся ΠΎΠΊΠ½Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π² ΠΏΠΎΠ»Π΅ Β«ConnectionΒ» Ρ‚ΠΈΠΏ Β«OutletΒ», Ρ‚.ΠΊ. label Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ²Π»ΡΡ‚ΡŒΡΡ элСмСнтом Π²Ρ‹Ρ…ΠΎΠ΄Π°, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π½Π° Π½Ρ‘ΠΌ отобраТаСтся тСкст. ПослС наТатия Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«connectΒ» ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Xcode сгСнСрируСт строку ΠΊΠΎΠ΄Π°. Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ являСтся Π½Π΅ΠΊΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, которая ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π² дальнСйшСм ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ созданной тСкстовой ΠΌΠ΅Ρ‚ΠΊΠ΅.

ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ появится ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ ΠΎΠ± элСмСнтС Label:

ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller

Π’Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ производится привязка ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΊ ΠΊΠΎΠ΄Ρƒ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ CTRL, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ пСрСнСсти линию Π² свободный участок ΠΊΠΎΠ΄Π° ΠΈ Π² появившСмся ΠΎΠΊΠ½Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ соСдинСния Β«ActionΒ» ΠΈ Π΄Π°Ρ‚ΡŒ имя ΠΊΠ½ΠΎΠΏΠΊΠ΅ – Β«buttonWasPressedΒ», Π·Π°Ρ‚Π΅ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«ConnectΒ»:

ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller

На этот Ρ€Π°Π· Xcode сгСнСрируСт Ρ†Π΅Π»ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ ΠΊΠΎΠ΄Π΅. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ сообщили IDE всю Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ элСмСнтах.

НапримСр, сдСлаСм простоС дСйствиС – ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ тСкста Π² label. Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ, которая создалась ΠΏΡ€ΠΈ соСдинСнии ΠΊΠ½ΠΎΠΏΠΊΠΈ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ (ButtonWasPressed ()). НСобходимо Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ строки Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ:

Как Π²ΠΈΠ΄Π½ΠΎ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ тСкстовому элСмСнту, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π²Ρ‹Ρ…ΠΎΠ΄ textLabel, Π° ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ тСкст ΠΌΠΎΠΆΠ½ΠΎ, ΠΎΠ±Ρ€Π°Ρ‰Π°ΡΡΡŒ ΠΊ свойству Β«textΒ» этого элСмСнта. Π”Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡΡΡŒ, Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ содСрТимоС label, ΠΈ Ссли Ρ‚Π°ΠΌ содСрТится тСкст Β«Hello WorldΒ», Ρ‚ΠΎ тСкст помСняСтся Π½Π° Β«Bye, World!Β», ΠΈΠ½Π°Ρ‡Π΅ ΠΎΠ½ станСт Β«Hello WorldΒ». БоотвСтствСнно, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· тСксты Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΌΠ΅Π½ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Π° всякий Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ наТимаСтся ΠΊΠ½ΠΎΠΏΠΊΠ°.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Глядя, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» iOS UIViewController

Π½Π΅ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Π²Ρ‹ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ ΠΌΠ½Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ UIViewController ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ»?

12 ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ²

Π½Π° сайтС Apple Π΅ΡΡ‚ΡŒ отличная докумСнтация здСсь. Говоря просто, хотя:

ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» UIViewController ΠΏΠΎΠΊΠ°Π·Π°Π½ здСсь:

ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller

это для послСдних вСрсий iOS (ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ с Xcode 9.3, Swift 4.1). НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ всС этапы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅Π»Π°ΡŽΡ‚ ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» a UIViewController Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ.

viewWillAppear (_animated: Bool)

viewDidAppear(_ Π°Π½ΠΈΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ…: Π‘ΠΎΠΎΠ»)

viewWillDisappear (_animated: Bool)

viewDidDisappear (_animated: Bool)

ΠΏΠΎΠ·Π²ΠΎΠ»ΡŒΡ‚Π΅ ΠΌΠ½Π΅ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ всС эти этапы.

1. loadView

это событиС создаСт прСдставлСниС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ управляСт ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€. Он вызываСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ создании ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° прСдставлСния. Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ мСстом для создания Π²Π°ΡˆΠΈΡ… прСдставлСний Π² ΠΊΠΎΠ΄Π΅.

2. loadViewIfNeeded

Ссли incase прСдставлСниС Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ viewController Π΅Ρ‰Π΅ Π½Π΅ установлСн, Ρ‚ΠΎΠ³Π΄Π° этот ΠΌΠ΅Ρ‚ΠΎΠ΄ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ прСдставлСниС, Π½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ это доступно Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² iOS >=9.0. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, Ссли Π²Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚Π΅ iOS

3. ΠΌΠ΅Ρ‚ΠΎΠ΄ viewDidLoad

Π½Π° viewDidLoad событиС вызываСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ создании ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ прСдставлСния Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ, Π½ΠΎ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ прСдставлСния Π΅Ρ‰Π΅ Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹. Π­Ρ‚ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π΅ мСсто для ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ прСдставлСния.

4. viewWillAppear

это событиС ΠΎΠΏΠΎΠ²Π΅Ρ‰Π°Π΅Ρ‚ viewController всякий Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° появляСтся Π½Π° экранС. На этом шагС прСдставлСниС ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹, Π½ΠΎ ориСнтация Π½Π΅ Π·Π°Π΄Π°Π½Π°.

5. viewWillLayoutSubviews

6. viewDidLayoutSubviews

это событиС увСдомляСт ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π²ΠΈΠ΄Π°, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄Π²ΠΈΠ΄Ρ‹ Π±Ρ‹Π»ΠΈ настроСны. Π­Ρ‚ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π΅ мСсто для внСсСния Π»ΡŽΠ±Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΏΠΎΠ΄Π²ΠΈΠ΄Ρ‹ послС ΠΈΡ… установки. Π­Ρ‚ΠΎ доступно Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² iOS >=5.0. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ Ссли Π²Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ iOS

7. viewDidAppear

Π½Π° viewDidAppear событиС срабатываСт послС прСдставлСния Π½Π° экранС. Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ мСстом для получСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· сСрвСрной слуТбы ΠΈΠ»ΠΈ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

8. viewWillDisappear

9. viewDidDisappear

это послСдний шаг ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ любой ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ это событиС срабатываСт сразу послС просмотра прСдставлСнного viewController исчСз, ΡƒΠ²ΠΎΠ»Π΅Π½, ΠΏΡ€ΠΈΠΊΡ€Ρ‹Ρ‚ ΠΈΠ»ΠΈ спрятан.

Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ согласно Π―Π±Π»ΠΎΠΊΠΎ ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ рСализуя эти ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ super рСализация этого ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°.

надСюсь, Ρ‡Ρ‚ΠΎ это ΠΏΠΎΠΌΠΎΠ³Π»ΠΎ. Бпасибо.

iOS 10,11 (Swift 3.1, Swift 4.0)

ΠΏΠΎ Π΄Π°Π½Π½Ρ‹ΠΌ UIViewController Π½Π° UIKit Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²

1. loadView()

здСсь подклассы Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ свою ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΡƒΡŽ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡŽ прСдставлСний, Ссли ΠΎΠ½ΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π‘ΠΈΠ±. Никогда Π½Π΅ слСдуСт Π·Π²ΠΎΠ½ΠΈΡ‚ΡŒ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ.

2. loadViewIfNeeded ()

Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ прСдставлСниС ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Π²ΠΈΠ΄Π°, Ссли ΠΎΠ½ΠΎ Π΅Ρ‰Π΅ Π½Π΅ Π±Ρ‹Π»ΠΎ Π½Π°Π±ΠΎΡ€.

3. viewDidLoad ()

вызываСтся послС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ прСдставлСния. Для ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² прСдставлСния, созданных Π² ΠΊΠΎΠ΄Π΅, это after-loadView. Для ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² прСдставлСния, Π½Π΅Π°Ρ€Ρ…ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΈΠ· nib, это послС установки прСдставлСния.

4. viewWillAppear (_animated: Bool)

вызываСтся, ΠΊΠΎΠ³Π΄Π° прСдставлСниС собираСтся ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌ. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ‚

5. viewWillLayoutSubviews ()

вызываСтся сразу послС ΠΌΠ΅Ρ‚ΠΎΠ΄ layoutSubviews Π²ΠΈΠ΄ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Π²ΠΈΠ΄ вызываСтся. ΠŸΠΎΠ΄ΠΊΠ»Π°ΡΡΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ нСобходимости.

6. viewDidLayoutSubviews()

называСтся, ΠΊΠΎΠ³Π΄Π° Ρ€Π°Π·ΠΌΠ΅Ρ€,ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ограничСния ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΊΠΎ всСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ.

7. viewDidAppear (_animated: Bool)

вызываСтся, ΠΊΠΎΠ³Π΄Π° прСдставлСниС ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½ΠΎ Π½Π° экран. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ‚

8. viewWillDisappear(_ Π°Π½ΠΈΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ…: Π‘ΠΎΠΎΠ»)

вызываСтся, ΠΊΠΎΠ³Π΄Π° прСдставлСниС ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΎ, Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ скрыто. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ‚

9. viewDidDisappear (_animated: Bool)

вызываСтся послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ прСдставлСниС Π±Ρ‹Π»ΠΎ ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΎ, Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ скрыто. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ‚

10. viewWillTransition (Ρ€Π°Π·ΠΌΠ΅Ρ€: CGSize, с ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΎΡ€ΠΎΠΌ: UIViewControllerTransitionCoordinator)

вызываСтся, ΠΊΠΎΠ³Π΄Π° Π²ΠΈΠ΄ ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄.

11. willMove (toparentviewcontroller Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ: UIViewController?)

12. didMove (toparentviewcontroller Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ: UIViewController?)

эти Π΄Π²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΡΠ²Π»ΡΡŽΡ‚ΡΡ общСдоступными для подклассов ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² для Π²Ρ‹Π·ΠΎΠ²Π° ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΌΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°ΠΌΠΈ. Если ΠΎΠ½ΠΈ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹, пСрСопрСдСлСния Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹Π·ΠΎΠ² супСр.

Π ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Π² ΠΎΠ±ΠΎΠΈΡ… этих ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ… Ρ€Π°Π²Π΅Π½ Π½ΡƒΠ»ΡŽ, ΠΊΠΎΠ³Π΄Π° Ρ€Π΅Π±Π΅Π½ΠΎΠΊ ΡƒΠ΄Π°Π»Π΅Π½ ΠΈΠ· Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ элСмСнта; Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС ΠΎΠ½ Ρ€Π°Π²Π΅Π½ Π½ΠΎΠ²ΠΎΠΌΡƒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρƒ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ Π²ΠΈΠ΄Π°.

13. didReceiveMemoryWarning()

вызываСтся, ΠΊΠΎΠ³Π΄Π° Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ памяти. Π’ iOS 6.0 ΠΎΠ½ большС Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‡ΠΈΡ‰Π°Ρ‚ΡŒ прСдставлСниС ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

начиная с iOS 6 ΠΈ Π²Ρ‹ΡˆΠ΅. Новая Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller

ΠΎΡ‚Π²Π΅Ρ‚ Π₯Π°ΠΉΠ΄Π΅Ρ€Π° Π²Π΅Ρ€Π΅Π½ для pre-iOS 6. Однако с iOS 6 viewDidUnload ΠΈ viewWillUnload Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ. The docs состояниС: «ΠΏΡ€Π΅Π΄ΡΡ‚авлСния большС Π½Π΅ ΠΎΡ‡ΠΈΡ‰Π°ΡŽΡ‚ΡΡ Π² условиях Π½Π΅Ρ…Π²Π°Ρ‚ΠΊΠΈ памяти, поэтому этот ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ вызываСтся.»

Π΄Π°Π²Π°ΠΉΡ‚Π΅ сосрСдоточимся Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‚ Π·Π° UIViewController ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ»:

созданиС:

ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ‚Π²ΠΎΡ€Π΅Π½ΠΈΠ΅:

— (UIView *)initWithCoder:(NSCoder *)coder

ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° измСнСния состояния прСдставлСния:

памяти ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅:

освобоТдСниС

ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызовСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ uiviewcontroller

для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, поТалуйста, взглянитС Π½Π° Бсылка На Класс UIViewController.

Ρ‚Π°ΠΌ ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ΅ΠΉ ΠΈ Π½Π΅ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Для iOS 6 ΠΈ Π½ΠΎΠ²Π΅Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ:

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ:

(b) ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ 0 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π·.

Π­Ρ‚ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ допустимыС ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹ состояния ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° view «will» ΠΈ «did»

ΠΊΠΎΠ³Π΄Π° этот ΠΌΠ΅Ρ‚ΠΎΠ΄ вызываСтся, вашС прСдставлСниС, вСроятно, Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π² блиТайшСм Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ (ΠΈΠ»ΠΈ Π² самом блиТайшСм Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ), Π½ΠΎ Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π½Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΠΈ, Ρ‡Ρ‚ΠΎ это Π½Π° самом Π΄Π΅Π»Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, сСйчас самоС врСмя Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ всС Π² порядок, Π½ΠΎ Π½Π΅ слишком ΠΌΠ½ΠΎΠ³ΠΎ, ΠΈΠ½Π°Ρ‡Π΅ Π²Ρ‹ потСряСтС Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΌΠΎΡ‰Π½ΠΎΡΡ‚ΡŒ. Π’ этом ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ экзСмпляры зависимостСй, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ прСдставлСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π² прСдставлСниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ способом. И ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ init(coder:) вызываСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΆΠΈΠ·Π½ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΊΠ°ΠΊ ΠΈ всС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ init.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *