UITabBarController, анимация вызывает скольжение других представлений без UINavigationController - PullRequest
1 голос
/ 18 февраля 2010

Я столкнулся с проблемой анимации (я думаю) с моим приложением на основе TabBar. У меня есть четыре элемента панели вкладок, из этих трех есть UINavigationControllers, и один из них просто имеет обычный контроллер представления. Проблема в том, что после перехода к представлению с анимацией первая вкладка без UINavigationController, по-видимому, больше не имеет правильного размера / позиции при смене баров.

Изначально вы можете без проблем проходить по всем четырем вкладкам, но после использования анимированного представления первое представление будет отображаться с анимацией скольжения вниз, как если бы оно было расположено неправильно. И наоборот, другие виды будут «скользить» вверх примерно на 20 пикселей при активации. У меня первый вид, не масштабируемый в IB, и он имеет такую ​​же высоту, как и другие виды. Я также попытался заполнить его высоту на 44 пикселя (высота панели навигации), но он показал тот же эффект.

Также, как только эта ошибка вступит в силу, если другой вид активируется в первый раз; он выглядит странным, оживленным образом, его отдельные элементы растут снизу слева и перемещаются на место.

Любой совет приветствуется, я склонен полагать, что он связан с высотой или размером этого вида без контроллера навигации; или что анимация в моем единственном представлении не отменяется правильно. Это представление пытается предотвратить это (но оно не работает):

-(void)viewWillDisappear:(BOOL)animated {  
  [UIView beginAnimations:nil context:NULL];  
  [UIView setAnimationBeginsFromCurrentState:YES];  
  [UIView setAnimationDuration:0.1];  
  [UIView setAnimationCurve: UIViewAnimationCurveLinear];  
  [UIView commitAnimations];  

  [super viewWillDisappear:false];  
}

1 Ответ

0 голосов
/ 30 марта 2010

Проблема не имела ничего общего с разными взглядами. Я открыл блок анимации, а не закрыл его. Это не будет воспринято как синтаксическая ошибка, но будет создавать бесконечную анимацию при каждом переходе. Если вы видите скользящие виды, я рекомендую просмотреть любое место с анимацией и убедиться, что блок закрыт.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...