Es tut mir leid, wenn ich hier etwas verpasst habe, aber ich dachte, UIView Objekte, die in IB erstellt wurden sollten ihre Frames in ViewDidLoad erstellt werden, damit Sie initial Setup basierend auf tun können Diese Ansicht in viewDidLoad oder watchFromNib oder viewWillAppear. Ich protokollierte die Ausgabe in jeder Methode:UIView erstellt in IB hat keinen Frame in ViewDidLoad und watchFromNib
NSLog(@"%@ %s", NSStringFromCGRect(self.zoomView.frame), __FUNCTION__);
Und in allem bekomme ich {0, 0, 0, 0}.
Dies ist die erste Nib in meinem UIStoryboard, und ich benutze Autolayout und iOS 6. Ich könnte auf früheren Anwendungen geschworen haben Ich habe den Rahmen von anderen UIView-Objekten in IB erstellt, um Dinge einzurichten. Hat sich etwas verändert? Oder erinnere ich mich nur falsch? Vielen Dank!
Sind Sie zu 1000% sicher, dass das IBOutlet mit der Ansicht verknüpft ist? –
@ 0x7fffffff Ja, ich bin 100% positiv, dass das IBOutlet verbunden ist. Ich habe es getrennt und wieder verbunden, um sicherzustellen, dass das nicht das Problem war. – Crystal
Wenn es definitiv verknüpft ist, rufen Sie an dieser Stelle alloc/init in dieser Ansicht auf? –