[英]Basic Xamarin.iOS Screen Manipulation
我是Xamarin.iOS编程的新手,如果这很明显,请原谅我。
我有一个在主应用程序中运行的计时器。 除其他外,我需要它来更新Main.storyboard中的字段
在Main.cs中:
public static void StartTimer()
{
DateTime startTime;
startTime = DateTime.UtcNow;
var dispatcherTimer = new System.Threading.Timer(DispatcherTimer_Tick, startTime, 0, 100);
}
public static void DispatcherTimer_Tick(object state)
{
GetTime();
ViewController.SetFieldsTick(Vars.dcounter));
}
在ViewController中,我有一个例程来更新屏幕:
public static void SetFieldsTick(int tick)
{
switch (tick)
{
case 0: // Display the Time data
{
UTC_Data.Text = Vars.DateStrZ;
}
}
}
如果我将SetFieldsTick声明为static,那么我会收到消息
非静态字段需要对象引用…
对于我要更新的每个标签。
如果我未将其声明为静态,则它可以引用标签,但是在Main.cs文件中调用它时会收到相同的错误消息。
有关如何解决此问题的任何建议?
谢谢,丹
我想ViewController不是静态的,这就是为什么您不能像这样调用它的原因,无论如何,您的代码还是有点难以理解,如果您想用时钟来构建应用程序或只显示时间,请看一下Xamarin.Forms示例:
https://docs.microsoft.com/zh-cn/xamarin/xamarin-forms/xaml/xaml-basics/data-bindings-to-mvvm
由于有了DataBinding,您无需手动设置UI,您应该尝试一下。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.