我有一个UIControl,在其中我使用了MonoTouch.CoreGraphics类来绘制一些项目,并通过AddSubview将UIControl放到UIView中。我试图把这个观点转化为模拟某种时钟或拨号盘上的分钟或秒针的动作。我的印象是,我可以用UIView上的Transform来做到这一点。试图在MonoTouch中使用变换来旋转UIView
我的UIView的名称是容器。我已经试过:
container.Transform.Rotate(-0.78f);
我也曾尝试:
CGAffineTransform t = CGAffineTransform.MakeIdentity();
t.Rotate(-0.78f);
container.Transform = t;
我也曾尝试:
CGAffineTransform t = CGAffineTransform.MakeRotation(-0.78f);
container.Transform = t;
我自己也尝试一下这种和其他组合:
UIView.BeginAnimations("rotate");
UIView.SetAnimationDuration(0.5);
container.Transform.Rotate((float)Math.PI);
UIView.CommitAnimations();
以上都没有任何我在我的显示器上。它丝毫不旋转或移动。所有与iOS相关的帖子都引用了CGAffineTransformRotate,但是我找不到一个完全匹配的Mono,并假设这与我在上面做的相同。有没有其他方法可以让我的视图旋转?
等价于CGAffineTransformRotate是CGAffineTransform.Rotate()方法,用于旋转您调用它的仿射。所以你的代码是正确的。真正的问题是“容器”。它是什么? 你能分享一些代码,你看到了你试图复制的效果吗? – 2012-02-26 17:38:29
我正在关注如何创建一个旋转轮并将其移植到Monotouch上的文章。我得到了绘制的形状,并停留在试图使用定时器旋转的部分。这里是文章http://www.raywenderlich.com/9864/how-to-create-a-rotating-wheel-control-with-uikit的链接。我的DrawWheel方法在我的UIControl类中正常工作。我创建一个我的车轮控制的实例,并使用AddSubview将其添加到UIView。我很乐意向您发送我编写的所有代码。请让我知道你想让我发送的地方。 – 2012-02-27 02:56:02
分享你的代码最简单的方法是打开一个关于http://bugzilla.xamarin.com的bug报告,并附上你的代码以及这个问题的链接 – poupou 2012-02-28 00:56:25