Рамка с искаженным обзором с контроллером разделения вида - PullRequest
4 голосов
/ 12 июня 2011

В моем приложении, которое имеет контроллер разделенного представления, у меня есть представление загрузки.My Root View Controller является подклассом UITableViewController;при загрузке данных я сохраняю self.view и перевожу его с представлением загрузки:

- (void)loadingWillBegin {
    self.cachedView = self.view;
    self.progressBar.progress = 0.0;
    [UIView transitionFromView:self.view toView:self.loadingView duration:1.0 options: UIViewAnimationOptionTransitionCurlDown completion:NULL];
    self.view = self.loadingView;
}

- (void)loadingDidFinish {
    [UIView transitionFromView:self.loadingView toView:self.cachedView duration:1.0 options:UIViewAnimationOptionTransitionCurlUp completion:NULL];
    self.view = cachedView;
}

Переходы работают нормально, но после того, как представление загрузки выгружено, рамка представления таблицы все облажалась.Есть черная полоса в верхней части того же размера, что и строка состояния (я действительно очистил симулированные метрики строки состояния), и вид расширяется ниже фактической нижней части экрана.Кадр, похоже, такой же, как loadingView;на этом изображении я установил iPad Simulated Metrics на Master, что привело к росту экрана около 820 пикселей.Независимо от настройки этого параметра, Xcode 4 не позволяет мне изменять фрейм вида в Инспекторе размера.

Что мне делать с фреймом вида?

1 Ответ

2 голосов
/ 12 июня 2011

По завершении анимации вы можете вручную установить правильный кадр.

[UIView transitionFromView:self.loadingView toView:self.cachedView duration:1.0 options:UIViewAnimationOptionTransitionCurlUp completion:^(BOOL finished){self.cachedView.frame = /* Insert appropriate frame here. */;}];
...