问题是:如何在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 代码。