2012-04-02 12 views
3

Im次のコードを使用してUITableViewのサイズ変更をアニメーション化して、UIViewに余分なコントロールを追加するには、UITableView.isEditingを使用します。UITableViewのアニメーション化resize

[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]; 

UITableViewUIViewが背景からアニメーション中に黒いちらつきの原因となる、(私はUITableViewsフレームの前UIViewsフレームを調整していても)よりも速くアニメーション化するようだ除いてこれが正常に動作します。

2つのビューを縦にアニメーション表示する方法はありますか?

+0

私は2つの別々のアニメーションブロックを使用し、UITableViewアニメーションのブロックをわずかに遅らせることができますが、これはちょっとしたハックのようです。より良いアイデアは大歓迎です。 – steharro

答えて

0

コントローラがUITableViewControllerのサブクラスであるために問題が発生しました。私は現在、UIViewControllerをサブクラス化し、サブビューとしてUITableViewを追加しています。新しいビューを追加し、UITableViewのサイズを変更するアニメーションは、期待通りに機能するようになりました。

関連する問題