2016-02-02 3 views
0

Хорошо, поэтому я использую этот проект: https://github.com/icanzilb/SwiftSpinnerSwiftSpinner не работает на UIViewController.

Я скачал проект и взял файл Swiftspinner.Swift из каталога и добавить его в мой проект.

Теперь, когда я добавляю в тесте примерно так:

import UIKit 

class ViewController: UIViewController { 

override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 

    SwiftSpinner.show("Test") 
} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 


} 

Nothings происходит, когда я запускаю его. никаких ошибок он просто говорит, что сборка выполнена успешно, а затем открывается в симуляторе. Однако, если я меняю делегацию класса на вершине этого:

class ViewController: UINavigationController { 

Я работает, Может кто-нибудь понять это?

+1

Попробуйте перевести вызов на 'viewDidAppear (_ :)' – Joe

+0

Уже пробовал это, ничего. – JamesG

+0

Ах, на самом деле, я пробовал это, но я оставил его и в viewDidLoad. Когда я вынул его из viewdidload, это сработало. - Вы хотите добавить это как ответ, и я соглашусь с ним. – JamesG

ответ

1

Переведите звонок на номер viewDidAppear(_:).

Проблема в том, что ViewController, скорее всего, представляет собой исходный вид, созданный при создании проекта. viewDidLoad() вызывается, когда на вашем контроллере вызывается .view. Поскольку это начальный контроллер представления, он еще не добавлен в ключевое окно. В результате spinner добавляет себя в ключевое окно, тогда ViewController добавляется в ключевое окно, закрывающее счетчик. Если вы использовали отладчик иерархии представлений, вы сможете увидеть это. После установки корневого представления это уже не будет проблемой, но по-прежнему лучше изменить пользовательский интерфейс после появления представления.

+0

Действительно оценил вашу помощь чувак. Благодарю. – JamesG

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