2011-03-17 10 views
9

私はMKMapViewUINavigationControllerに埋め込まれており、UITabBarに表示されているiPadアプリを持っています。地図上にポップオーバーコントローラを表示していますUIPopoverController Not Animating

UIPopoverController *myPopoverController = 
    [[[UIPopoverController alloc] initWithContentViewController:myContentView] 
    autorelease]; 

[myPopoverController presentPopoverFromRect:myRect 
            inView:mapView 
        permittedArrowDirections:UIPopoverArrowDirectionAny 
            animated:YES]; 

ポップオーバーが正常に表示されます。しかし、アニメーションの効果はあまりありません。ただ画面上にすぐに現れます。同様に、私がそれを却下すると、アニメーションなしで消えるだけです。

アニメーションをどのように動かすことができますか?私は別のビューからそれを表示しようとする必要がありますか?私が設定することを怠ったかもしれない何かの財産はありますか?

答えて

11

パラメータanimated:(BOOL)にもかかわらず、表示されるとポップオーバーは決してアニメートされないように見えます。私はダースの第一および第三者のアプリを試しました。

解雇はアニメイトしかし、あなたはdismissPopoverAnimated:(BOOL)

YESを渡す提供する必要があり
1

あなたのポップオーバーがマップビューの外でアニメーション化されると仮定して、フレームビューがマップビューと同じサイズのコンテナビューにマップビューを配置しようとします。そこから、ポップオーバーをコンテナビューに表示するのは簡単です。

Appleのドキュメントによると、MKMapViewはサブクラス化されていないので、UIWebViewと同様に、より良い未使用のビューの1つとして私を驚かせます。

関連する問題