私はそのすべての領域に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];
}
}
それを達成するための適切な方法は何ですか?