view1 にボタンがあり、それを view2 に移動したいのですが、上からのアニメーションがあります。私のview1は画面の上半分にあり、view2は画面の下半分にあります。ご覧のとおり、スーパービューが変わります。複数のアプローチを試しましたが、ボタンは左または右から表示されますが、元からは表示されません。どんな助けでも大歓迎です。
1767 次
2 に答える
3
clipsToBounds
に設定して、スーパービューのコンテンツをクリップしないようにしNO
ます。
次に、ボタンのフレームをアニメーション化し、アニメーションが完了したら、ビュー 1 から削除してビュー 2 に追加します。
[UIView animateWithDuration:0.2f
animations:^{
button.frame = newFrame;
}
completion:^(BOOL finished){
CGRect rect = [view1 convertRect:button.frame toView:view2];
[button removeFromSuperview];
[button setFrame:rect];
[view2 addSubView:button];
}];
于 2012-09-21T14:19:15.213 に答える
2
次のコードを使用して、まさにこの結果を達成しました。
CGRect tabFrame = tab.frame;
CGRect viewFrame = [mainWindow convertRect:tabFrame toView:currentView];
tab.frame = viewFrame;
[tab removeFromSuperview];
[currentView addSubview:tab];
このコードtab
は のフレームを からに変換mainWindow
しcurrentView
ます。このバグを除けば、これは完全に機能します。その問題に遭遇しない場合、または解決方法を見つけた場合は、本当に感謝しています。
その時点から行う必要があるのは、通常のアニメーションを適用することだけです。
于 2012-09-21T14:17:10.537 に答える