UIScreen.MainScreen.Bounds
問題は、UIスレッドなしでiOS MonoTouch(のような)で画面解像度を取得するにはどうすればよいですか?プロパティ.MainScreen
は例外をスローします
UIKit Consistency error: you are calling a UIKit method that can only be invoked from the UI thread.
したがって、UIスレッドが必要です。UIApplication.Main()
ただし、アプリケーションがロードされる前、呼び出される前に解決が必要なため、 UIApplication.mainThread
(デバッガーによって表示されるプライベートメンバー)はnull
です。UIがないので、UIスレッドはまったくないと思います。したがって、技術的にはInvokeOnMainThread
オブジェクトを呼び出すことはできません。
なしで画面解像度を取得する他の方法はありますUIScreen.MainScreen
か?そうでない場合は、初期化をUIから呼び出されるコードに移動する必要があります。InvokeOnMainThread
次に、別の質問があります。任意のスレッドからUIオブジェクトを(呼び出すために)取得するにはどうすればよいですか?UIコードを制御できません。