簡體   English   中英

基本Xamarin.iOS屏幕操作

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM