#iphone #ios4 #ipad
#iPhone #ios4 #iPad
Вопрос:
Я работаю в разделе detailview контроллера splitviewcontroller для ipad.
Я меняю представления здесь следующим кодом
if ([[[self.view subviews] objectAtIndex:0] tag] != 1){
[[[self.view subviews] objectAtIndex:0] removeFromSuperview];
dvCases = [[DVCases alloc] initWithNibName:@"DVCases" bundle:nil];
[dvCases setDelegate:self];
[dvCases setCase:nsManagedObject];
[self.view insertSubview:dvCases.view atIndex:0];
Это работает нормально, и авторазмер работает.
однако, если я использую это
if ([[[self.view subviews] objectAtIndex:0] tag] != 1){
dvCases = [[DVCases alloc] initWithNibName:@"DVCases" bundle:nil];
[dvCases setDelegate:self];
[dvCases setCase:nsManagedObject];
[UIView transitionFromView:[[self.view subviews] objectAtIndex:0]
toView:dvCases.view duration:1.0
options:UIViewAnimationOptionTransitionFlipFromLeft UIViewAnimationOptionShowHideTransitionViews
completion:nil];
[self.view insertSubview:dvCases.view atIndex:0];
Теперь он не выполняет авторазмер. Но он думает, что имеет, например, если я использую это в портретном режиме, тогда весь вид слишком короткий, если я затем поверну его в альбомную ориентацию, высота станет еще короче.
Редактировать Возможно, если мой вопрос слишком сложный или расплывчатый, или я неправильно его набираю.
Я поиграл практически со всем, и теперь я думаю, что вышеупомянутые 2 функционируют одинаково. Оба для меня НЕВЕРНЫ.
Что действительно работает, так это то, что приведенный выше вид добавляется в качестве подвида к тому, что я называю своим viewmaster. Этот мастер представления добавляется в качестве представления к контроллеру splitview. Т.е. к массиву splitview, который может иметь только 2 вида.
Таким образом, у меня есть Splitview> viewmaster> view (размеры представления не работают, когда изменяется только это представление с помощью insertsubview). но если я снова вставлю viewmaster, тогда все размеры будут правильными. Кто-нибудь может мне помочь с тем, где мои размеры, или автонастройки, или что-то еще не так?
Ответ №1:
Это старый вопрос. Проблема для меня заключалась в размере моего super view.
Ответ №2:
Добавьте UIViewAnimationOptionShowHideTransitionViews | UIViewAnimationOptionLayoutSubviews
в свои параметры анимации.