Monotouch - UIView.Animate在子视图中什么都不做?

时间:2013-03-10 08:37:51

标签: uiview xamarin.ios

我有一个名为DoRotate()的虚函数,可以旋转子视图的动画。非常简单......它是从一个timer事件触发的,并且总是在主线程上调用。

这就像魅力......

现在,我对整个视图进行子类化,并创建另一个尝试执行相同操作的视图。它显示为主视图的子视图(全屏)...现在,UIView.Animate()是一个No-op ..它根本不执行块内的代码。它实际上是在另一个视图中调用的完全相同的函数...它试图动画子视图(原始视图的子子视图......

但是就像操作系统只是说“太糟糕了,太伤心了,我们不再工作了......” - 这是操作系统的典型特征,但这是另一个话题......

最初,我试图让这个视图从基本视图翻转到另一个视图,但显然,没有导航控制器它将无法工作,如果你有一个,那么我创建的弹出菜单将不再弹出......

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

MapRotating = true;永远不会被调用..我已经把它放在动画调用之前,但是如果动画失败了它就再也没有尝试过......这样一来,它就会永远失败......

_DoRotate计算旋转角度并旋转它(设置变换)......

是否有一个UIView.LastError()方法,我可以调用它告诉我为什么它忽略我的请求...(哦,如果我们传递它不喜欢的东西怎么样抛出异常?)

-Chris

0 个答案:

没有答案