InitWithFrame UIView не работает? - PullRequest
6 голосов
/ 21 октября 2009

Я установил свой контроллер вида на конкретный вид через Interfacebuilder. но initWithFrame не вызывается, а вызывается drawRect? когда я ставлю точку останова?

Ответы [ 2 ]

17 голосов
/ 21 октября 2009

Правильно, потому что не гарантируется, что initWithFrame: будет вызываться при разархивировании xib. Попробуйте использовать awakeFromNib или viewWillLoad или viewDidLoad. Какой из них вы выберете, будет в основном зависеть от того, на какой стадии процесса отображения вам нужно вставить свой код.

Также, проверьте ответ на этот вопрос .

3 голосов
/ 26 апреля 2011

Согласно документации - http://developer.apple.com/library/ios/#documentation/uikit/reference/UIView_Class/UIView/UIView.html - initWithFrame: не вызывается, когда ваши объекты вида впоследствии загружаются из файла пера. Объекты в файле пера восстанавливаются и затем инициализируются с использованием их метода initWithCoder:, который изменяет атрибуты представления в соответствии с атрибутами, хранящимися в файле пера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...