Нативная разработка мобильных приложений



Download 3,69 Mb.
Pdf ko'rish
bet40/228
Sana21.07.2022
Hajmi3,69 Mb.
#834838
1   ...   36   37   38   39   40   41   42   43   ...   228
Bog'liq
Нативная разработка мобильных приложений

Раскадровки и XIB
Теперь мы знаем, как инициализировать представление программным спосо
-
бом. Однако чаще представления создаются за кулисами, после определения 
в раскадровке или в XML Interface Builder (XIB) внутри Xcode.
Представления в раскадровке определяются в контексте контроллера пред
-
ставления непосредственно внутри Interface Builder. Сцена контроллера пред
-
ставления содержит одно или несколько представлений, вложенных в него 
и отображаемых вместе. Связывание представления с контроллером представ
-
ления осуществляется с помощью специального флага компилятора 
@IBOutlet

Этот флаг сообщает, что свойство типа 
UIView
внутри класса можно подключить 
к представлению, содержащемуся в XIB или раскадровке. Например, чтобы 
создать контроллер представления с синим прямоугольным представлением, 
сначала нужно создать контроллер представления со свойством, отмеченным 
флагом 
IBOutlet
:
class ExampleViewController: UIViewController {
@IBOutlet var blueRectangle: UIView!
...
}
Затем связать контроллер с представлением, выполнив следующие дей
-
ствия:
1) создать новую сцену контроллера представления;
2) изменить класс контроллера представления в инспекторе идентичности 
(Identity inspector) на ExampleViewController;
3) добавить представление в главное представление в сцене и изменить его 
цвет фона на синий в инспекторе атрибутов (Attributes inspector);
4) удерживая нажатой клавишу 
Ctrl
, ухватить контроллер представления 
левой кнопкой мыши и перетащить его на синий прямоугольник;
5) должно появиться всплывающее окно с перечнем доступных выходов 
(Outlets) в контроллере представления. Выберите 
blueRectangle
, и в In
-
terface Builder появится связь между представлением, отображающим 
синий прямоугольник, и свойством 
blueRectangle
в классе 
ExampleViewCon­
troller
.
В XIB представления определяются аналогично. По сути, XIB можно счи
-
тать эквивалентом единственной сцены контроллера представления в раскад-
ровке, хотя и с некоторыми допущениями. В действительности описания XIB 
основаны на формате XML (и очень похожи на раскадровки) и используются 
для хранения информации о представлениях, чтобы их можно было создавать 
с помощью графического интерфейса, а не только программно. Они являются 
предшественниками раскадровок и постепенно выходят из употребления.
Создание представления в XIB происходит так же, как в раскадровке; напри
-
мер, операции по настройке представления выполняются в Interface Builder, но 
само описание XIB настраивается и создается несколько иначе. Чтобы создать 
представление в XIB, нужно выполнить следующие шаги:


iOS 

53
1) создать класс 
CustomView
, наследующий 
UIView
;
2) добавить новое описание XIB (
CustomView.xib
) в проект и в инспекторе 
идентичности назначить ему только что созданный класс 
CustomView
;
3) внутри контроллера представления или другого объекта создать экземп-
ляр.
Как создать экземпляр? Для этого нужно получить ссылку на XIB, а затем 
использовать ее для создания экземпляра, например:
let nib = UINib(nibName: "CustomView", bundle: nil)
let view = nib.instantiate(withOwner: nil, options: nil).first as? CustomView
К сожалению, 
instantiate(withOwner:options:)
создает экземпляр обобщенно
-
го класса 
UIView
, поэтому вам придется привести его к требуемому подклассу.
Мы узнали, как создавать представления, но истинная ценность пользова
-
тельского интерфейса заключается в возможности вложения и объединения 
представлений. Давайте посмотрим, как вложить одно представление в другое.

Download 3,69 Mb.

Do'stlaringiz bilan baham:
1   ...   36   37   38   39   40   41   42   43   ...   228




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish