使用NSTimer在Xamarin for iOS中调用SetNeedsDisplay

时间:2013-06-14 00:43:57

标签: c# objective-c nstimer xamarin setneedsdisplay

我有一个UIView从缓冲区获取数据(即更改)并绘制它。我希望屏幕以10Hz的频率运行。 UIView被称为窗格,这就是我在ViewController中调用它的方式:

        //create graphics to display data
        GraphPane pane = new GraphPane ();
        pane.Frame = UIScreen.MainScreen.Bounds;
        Add (pane); 

        //setup timer to update pane
        NSTimer timer = NSTimer.CreateRepeatingTimer (0.1, delegate {pane.SetNeedsDisplay ();});

这不起作用(Pane.Draw永远不会被调用),我没有找到一个如何做到这一点的好例子。任何建议都表示赞赏。

1 个答案:

答案 0 :(得分:11)

        timer = NSTimer.CreateRepeatingScheduledTimer (TimeSpan.FromSeconds (0.1), delegate {
            pane.SetNeedsDisplay ();
        });

解决了我的问题。