2009-10-21 9 views

Antwort

17

Richtig, weil es nicht garantiert ist, dass initWithFrame: wird aufgerufen werden, wenn die XIB unarchiviert. Versuchen Sie es mit awakeFromNib oder viewWillLoad oder viewDidLoad. Welchen Sie wählen, hängt hauptsächlich davon ab, in welcher Phase des Anzeigeprozesses Sie Ihren Code einfügen müssen.

Überprüfen Sie auch die Antwort auf this question.

3

Gemäß der Dokumentation - http://developer.apple.com/library/ios/#documentation/uikit/reference/UIView_Class/UIView/UIView.html - initWithFrame: wird nicht aufgerufen, wenn Ihre Ansichtsobjekte anschließend aus der NIB-Datei geladen werden. Objekte in einer NIB-Datei werden wiederhergestellt und anschließend mit ihrer initWithCoder:-Methode initialisiert, die die Attribute der Ansicht so ändert, dass sie mit den in der NIB-Datei gespeicherten Attributen übereinstimmt.

Verwandte Themen