0

サブビューの回転のアニメーションを行う DoRotate() という仮想関数があります。非常に単純です...タイマーイベントから起動され、常にメインスレッドで呼び出されます。

これは魅力のように機能します...

ここで、ビュー全体をサブクラス化し、同じことを行う別のビューを作成します。メイン ビューのサブビュー (フル スクリーン) として表示されます。現在、UIView.Animate() は No-op です。ブロック内のコードはまったく実行されません。実際には、他のビューで呼び出されているのとまったく同じ関数です...サブビュー(元のビューのサブサブビュー)をアニメーション化しようとしています...

しかし、それはOSが「残念、とても悲しい、もう働かない..」と言っているようなものです - これはOSの典型ですが、それは別のトピックです...

もともと、私はこのビューをベース ビューから反転する別のビューにしようとしましたが、どうやら、ナビゲーション コントローラーがないと機能せず、ナビゲーション コントローラーがあれば、作成したポップアップ メニューがポップアップしなくなります。 ...

        UIView.Animate (tm, 0, UIViewAnimationOptions.CurveLinear, () =>
        {
            MapRotating = true;
            _DoRotate ();
        },
        () => {
            MapRotating = false;});
        }

MapRotating = true; 呼び出されることはありません..アニメーション呼び出しの前にこれを配置しましたが、アニメーションが失敗した場合は再試行しません...この方法では、永遠に失敗し続けます...

_DoRotate は、回転する角度を計算して回転させます (変換を設定します)...

リクエストを無視する理由を教えてくれる UIView.LastError() メソッドはありますか?

-クリス

4

0 に答える 0