0

私はそのすべての領域にUIViewController手をUITableView伸ばしています。バーボタンのクリックで、画面の上部から下に移動するUITableViewためのスペースを作るために、縮小して移動して縮小しようとしています。UIView

あなたのプロジェクトを添付します事業

赤いビューをうまく移動できましたが、UITableViewの移動とサイズ変更に問題がありました。

問題を引き起こす私のアニメーションは次のとおりです。

-(void)extendTableView
{
    if (searchPanel) {        
        objectsTableView.frame = CGRectMake(objectsTableView.frame.origin.x, 0, objectsTableView.frame.size.width, 100);
        CATransition *animation = [CATransition animation];
        [animation setDuration:0.5];
        [animation setType:kCATransitionPush];
        [animation setSubtype:kCATransitionFromTop];
        [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
        [animation setDelegate: self];
        [animation setValue:ANIMATION_EXTEND_TABLE_VIEW forKey:KEY_ANIMATION];
        [objectsTableView.layer addAnimation:animation forKey:ANIMATION_EXTEND_TABLE_VIEW];

    }

-(void)shrinkTableView
{
    if (searchPanel) {
        objectsTableView.frame = CGRectMake(objectsTableView.frame.origin.x, 100, objectsTableView.frame.size.width, 100);
        CATransition *animation = [CATransition animation];
        [animation setDuration:0.5];
        [animation setType:kCATransitionPush];
        [animation setSubtype:kCATransitionFromBottom];
        [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
        [animation setDelegate: self];
        [animation setValue:ANIMATION_SHRINK_TABLE_VIEW forKey:KEY_ANIMATION];
        [objectsTableView.layer  addAnimation:animation forKey:ANIMATION_SHRINK_TABLE_VIEW];
    }
}

それを達成するための適切な方法は何ですか?

4

1 に答える 1