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

Monotouch-UIView.Animate在子视图中什么都不做为什么?,uiview,xamarin.ios,Uiview,Xamarin.ios,我有一个名为DoRotate()的虚拟函数,用于制作子视图旋转的动画。很简单。。。它由计时器事件触发,并且总是在主线程上调用 这就像一个符咒 现在,我将整个视图分为子类,并创建另一个视图,尝试执行相同的操作。它显示为主视图的子视图(全屏)。。。现在,UIView.Animate()是不可操作的。。它根本不执行块内的代码。它实际上与在另一个视图中调用的函数完全相同。。。它正在尝试设置子视图的动画(原始视图的子视图 但这就像操作系统只是在说“太糟糕了,太可悲了,我们再也不能工作了……”这是操作系统的

我有一个名为DoRotate()的虚拟函数,用于制作子视图旋转的动画。很简单。。。它由计时器事件触发,并且总是在主线程上调用

这就像一个符咒

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

但这就像操作系统只是在说“太糟糕了,太可悲了,我们再也不能工作了……”这是操作系统的典型特征,但这是另一个话题

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

        UIView.Animate (tm, 0, UIViewAnimationOptions.CurveLinear, () =>
        {
            MapRotating = true;
            _DoRotate ();
        },
        () => {
            MapRotating = false;});
        }
MapRotating=true;从不被调用..我已经将此放在动画调用之前,但是如果动画失败,它将不再尝试…这样,它将永远失败

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

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


-Chris

OMG我想出来了……不知道为什么,但接下来……我将计时器事件中的代码更改为调用InMainThread()一个方法DoTimer(),而不是让函数调用InvokeInMainThread()在这种方法中…没有任何意义,但是…嘿,我已经习惯了…任何人都可以解释吗?发布更多代码,然后可能有人可以解释它。需要一个示例说明DoRotate的功能。DoRotate所做的只是计算角度(这不会对任何事情产生任何影响)然后执行;CGAffineTransform rotate=CGAffineTransform.MakeRotation((TotalRotation*2.0f+1.0f)*(float)Math.PI/6);mvMap.Transform=rotate;我这样做是因为使用UIView的Transform.rotate()调用不做任何事情,也从未做过任何事情(我已经弄明白)…似乎必须为Transform属性赋值,而不是调用其上的方法来更改它。。。