2014-10-30 2 views
0

Я новичок в разработке приложений для IOS, но я беру трудный путь, чтобы изучить его, я стараюсь избегать использования конструктора интерфейса.Где приложение Swift IOS создает экземпляр View и ViewController?

Итак, я пытаюсь понять ход исполнения. Я вижу, что AppDelegate имеет объявление @UIApplicationMain, которое, согласно документации Apple, устраняет необходимость в файле main.swift. Этот основной метод будет создавать экземпляры приложения и приложения.

Шаблон единого вида также создал для меня класс ViewController и файл Main.storyboard. Итак, где код, который создает экземпляр ViewController и всю иерархию представлений?

Если бы я хотел работать без конструктора интерфейса, где бы я создал экземпляр UiView? Или мне нужно инициализировать UIWindow? Я вижу поле UIWindow в классе делегата приложения, которое я не вижу нигде.

+1

Почему вы не хотите использовать IB? – tjons

ответ

1

Если вы хотите избежать построения интерфейса/раскадровки, вы можете. Вам нужно будет настроить ваш контроллер представления в делегате приложения didFinishLaunchingWithOptions. Затем вы установите новый экземпляр контроллера представлений в качестве контроллера корневого окна Windows.

Пример:

import UIKit 
@UIApplicationMain 
class AppDelegate: UIResponder, UIApplicationDelegate { 

var window: UIWindow! 

func application(application: UIApplication, 
     didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 
window = UIWindow(frame: UIScreen.mainScreen().bounds) //allocate window 

let vc = ViewController() //initialize view controller 
window.rootViewController = vc 

window.backgroundColor = UIColor.whiteColor() 
window.makeKeyAndVisible() 
return true 
} 

Затем в ViewController.swift viewDidLoad instatiate кнопка или ярлык и поместить его в качестве подвида на КИ .view собственности, чтобы убедиться, он работает.

Смежные вопросы