サブビューの回転のアニメーションを行う DoRotate() という仮想関数があります。非常に単純です...タイマーイベントから起動され、常にメインスレッドで呼び出されます。
これは魅力のように機能します...
ここで、ビュー全体をサブクラス化し、同じことを行う別のビューを作成します。メイン ビューのサブビュー (フル スクリーン) として表示されます。現在、UIView.Animate() は No-op です。ブロック内のコードはまったく実行されません。実際には、他のビューで呼び出されているのとまったく同じ関数です...サブビュー(元のビューのサブサブビュー)をアニメーション化しようとしています...
しかし、それはOSが「残念、とても悲しい、もう働かない..」と言っているようなものです - これはOSの典型ですが、それは別のトピックです...
もともと、私はこのビューをベース ビューから反転する別のビューにしようとしましたが、どうやら、ナビゲーション コントローラーがないと機能せず、ナビゲーション コントローラーがあれば、作成したポップアップ メニューがポップアップしなくなります。 ...
UIView.Animate (tm, 0, UIViewAnimationOptions.CurveLinear, () =>
{
MapRotating = true;
_DoRotate ();
},
() => {
MapRotating = false;});
}
MapRotating = true; 呼び出されることはありません..アニメーション呼び出しの前にこれを配置しましたが、アニメーションが失敗した場合は再試行しません...この方法では、永遠に失敗し続けます...
_DoRotate は、回転する角度を計算して回転させます (変換を設定します)...
リクエストを無視する理由を教えてくれる UIView.LastError() メソッドはありますか?
-クリス