Próbuję zawinąć głowę wokół ról UIViews i UIViewControllers. Jeśli programuję programowo i wstawiając subviews, czy typowo jest to robić z widoku lub kontrolera?UIViewController vs. UIView - który z nich powinien tworzyć subviews?
Naprawdę zastanawiam się, czy istnieje konwencja/wzorzec dla tego. W mojej przykładowej aplikacji ładuję 50 obrazów w środowisku wykonawczym, dodając je jako subviews do głównego widoku, a następnie pozwalając użytkownikowi przeciągnąć je po ekranie. Jestem obecnie robi wszystko inicjalizacji w initWithCoder widoku za:
- (id)initWithCoder:(NSCoder*)coder
{
if (self = [super initWithCoder:coder]) {
// load UIImageViews and add them to the subview
}
return self;
}
Widok realizuje również touchesBegan/touchesMoved aby umożliwić przeciągnięcie. Mój problem pojawia się, gdy próbuję uzyskać dostęp do [self frame] .size w initWithCoder, wydaje się, że nie został jeszcze zainicjowany. To sprawia, że myślę, że ładuję obrazy w niewłaściwym miejscu ...
To zależy od tego, co robisz z nimi ... zwykle używasz kontrolera widoku, gdy chcesz wyświetlić widok pełnoekranowy z autorotacją, itp. Lub gdy chcesz wstawić widok pełnoekranowy do czegoś podobnego kontroler kart. Czy możesz nieco rozszerzyć swoje pytanie? –