У меня есть следующий код:код внутри awakeFromNib быть переопределены раскадровку
- (void) awakeFromNib
{
CGRect temp = self.buttonOne.frame;
temp.origin.y += 50;
self.buttonOne.frame = temp;
}
Код внутри ничего не делает; когда приложение загружает buttonOne именно там, где оно находится на раскадровке.
Если я разместить один и тот же код внутри viewDidLoad таким образом:
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
CGRect temp = self.buttonOne.frame;
temp.origin.y += 50;
self.buttonOne.frame = temp;
}
Он работает и кнопка перемещается вниз.
Это потому, что что-то происходит между стрельбой awakeFromNib и изображением, которое рисуется?
Любые уточнения были бы замечательными!
так что приложение ничего не знает о координатах любого из представлений при вызове awakeFromNib, и все изменения, которые он внесет, будут переопределены? Какую функцию вызывается для установки начальных координат видов из раскадровки? – Bassel
@Bassel, когда awakeFromNib называется видом, пока не существует, поскольку он не был загружен, поэтому любые сделанные вами изменения ничего не сделают. Начальные координаты будут известны при вызове viewDidLoad, обратите внимание, что это может отличаться от конечных координат, поскольку размеры видов изменяются в соответствии с содержимым контроллера. –
Ну, я отключил просмотр, авторезистирую и отключил автоспуск, так что этого не должно произойти, и координаты при входе в viewDidLoad, надеюсь, будут конечными координатами, которые будут отображаться. Спасибо за ответ! – Bassel