Анимация UITableView изменения размера - PullRequest
3 голосов
/ 02 апреля 2012

Я использую следующий код для анимации изменения размера UITableView, чтобы освободить место для UIView с дополнительными элементами управления при UITableView.isEditing.

[UIView animateWithDuration:3 // 0.2 but slowed down to easily see difference
                      delay:0
                    options:UIViewAnimationOptionCurveEaseOut 
                 animations:^{
                     [self.selectControlsView setFrame:CGRectMake(0, self.tableView.frame.size.height-self.selectControlsView.frame.size.height, self.selectControlsView.frame.size.width, self.selectControlsView.frame.size.height)];
                     [self.tableView setFrame:CGRectMake(0, 0, self.tableView.frame.size.width, self.tableView.frame.size.height-self.selectControlsView.frame.size.height)];
                 }
                 completion:nil];

Это работает нормально, за исключением того, что UITableView анимируется быстрее, чем UIView (хотя я настраиваю кадр UIViews до UITableViews кадра), вызывая черное мерцание во время анимации на фоне.

Есть ли способ оживить два вида в тандеме?

1 Ответ

0 голосов
/ 04 апреля 2012

Проблема была вызвана тем, что контроллер был подклассом UITableViewController. Теперь я создаю подкласс UIViewController и добавляю UITableView в качестве подпредставления. Анимация для добавления нового представления и изменения размера UITableView теперь работает, как и ожидалось.

...