【发布时间】:2019-07-18 13:37:43
【问题描述】:
我需要在 Xamarin.iOS(不是表单)中更改状态栏 UI,其中背景为黑色,文本颜色为白色。 为此,我想自定义状态栏视图,在互联网上搜索了所有我能找到的代码,发现下面的代码适用于大多数人。
var statusBar = UIApplication.SharedApplication.ValueForKey(new NSString("statusBar")) as UIView;
//tried with key statusBarWindow.statusBar as well.
statusBar.BackgroundColor = ...;
以上代码在 Xamarin.iOS 中崩溃(在 iPhone Xs 模拟器上测试)。 这是崩溃的日志。
在(包装器托管到本机)ObjCRuntime.Messaging.xamarin_IntPtr_objc_msgSend_IntPtr(intptr,intptr,intptr) 在 Foundation.NSObject.ValueForKey (Foundation.NSString 键) [0x0001c] 在 /Library/Frameworks/Xamarin.iOS.framework/Versions/12.2.1.12/src/Xamarin.iOS/Foundation/NSObject.g.cs:599
任何人都可以帮助我解释为什么此代码在 Xamarin 中崩溃。 我尝试在这个 GitHub 线程 https://github.com/mono/Embeddinator-4000/issues/597
上找到原因但在这里我也无法得到任何线索。 此外,如果有任何其他方式来自定义状态栏,我想放弃这个想法并继续提出建议。
【问题讨论】:
标签: xamarin.ios mono