2014-11-26 11 views
5

Ich habe einen Inhalt Container-View-Controller, die ein Kind View-Controller fügt hinzu und setzt dann einige Auto-Layout Einschränkungen der Größe des Kindes Ansicht. Die untergeordnete Ansicht füllt die Ansicht des Containers nicht vollständig aus. Mein Kind-View-Controller implementiert ViewWillTransitionToSize: withTransitionCoordinator: und legt seinen Inhalt basierend auf der übergebenen Größe fest.Auto-Layout und sizeForChildContentContainer

Ich weiß, ich muss sizeForChildContent überschreiben: withParentContainerSize: in der Containeransicht Controller, so dass das Kind erhält die richtige Größe in seiner viewWillTransitionToSize: -Methode. Meine Frage ist, was ist die richtige Methode, um die Größe zu berechnen, die zurückgegeben werden soll (d. H. Die Größe der untergeordneten Ansicht, nachdem die Abhängigkeiten angewendet wurden)? Ich konnte einige mathematische tun, um die Größe des Kindes berechnen mich, aber diese Art von Niederlagen der Zweck der untergeordneten Ansicht mit Auto-Layout Dimensionierung.

+0

Haben Sie das herausgefunden? – fruitcoder

Antwort

-1

Implementieren preferredContentSize im Kind Viewcontroller

- (CGSize)preferredContentSize { 
    return CGSizeMake(<width>, <height>); 
} 

Dann wird die Mutterviewcontroller das Kind seine bevorzugte Größe fragen, alle notwendigen Anpassungen machen, und die angepasste Größe zurückzukehren.