2014-11-26 13 views
5

Mam kontroler widoku kontenera treści, który dodaje kontroler widoku podrzędnego, a następnie ustawia niektóre ograniczenia automatycznego układu, aby zmienić rozmiar widoku podrzędnego. Widok podrzędny nie wypełnia całkowicie widoku kontenera. Moje dziecko kontroler widoku implementuje viewWillTransitionToSize: withTransitionCoordinator: i określa jego zawartość na podstawie przekazanego rozmiaru.Auto Layout i sizeForChildContentContainer

Wiem, że muszę zastąpić sizeForChildContent: withParentContainerSize: w kontrolerze widoku kontenera, aby dziecko otrzymało prawidłowy rozmiar w metodzie viewWillTransitionToSize:. Moje pytanie brzmi, jaki jest prawidłowy sposób obliczania wielkości do zwrócenia (tj. Rozmiaru, jaki widok podrzędny będzie po nałożeniu ograniczeń)? Mógłbym zrobić trochę matematyki, aby samemu obliczyć rozmiar dziecka, ale ten rodzaj pokonuje cel zmiany widoku podrzędnego za pomocą automatycznego układu.

+0

Czy to wymyśliłeś? – fruitcoder

Odpowiedz

-1

Wdrożenie preferredContentSize w dziecku viewController

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

Następnie rodzic viewController może zapytać dziecko swój preferowany rozmiar, dokonać niezbędnych zmian i powrót skorygowanej wielkości.

Powiązane problemy