iOS:Monotouch绑定条样式上的外观丢失了吗?

Ian*_*ink 4 c# iphone uinavigationbar xamarin.ios ios

我正在尝试将其转换为Monotouch C#:

[[UINavigationBar appearance] setBarStyle:UIBarStyleBlackOpaque]; 
Run Code Online (Sandbox Code Playgroud)

但是在Appearance对象上似乎没有Bar Style.

是否有解决方案或替代接入点?

pou*_*pou 5

此属性未UI_APPEARANCE_SELECTOR在Objective-C头文件中修饰.最初的MonoTouch外观工作基于该文档(但我们随着时间的推移添加了更多的案例).

然而,Apple实现它的外观支持的方式允许许多未记录的东西将起作用(并且如果Apple改变它的内部表示,希望继续工作).

无论如何,这意味着你可以通过这样做来解决这个问题,例如:

IntPtr handle = UINavigationBar.Appearance.Handle;
var appearance = new UINavigationBar (handle);
appearance.BarStyle = UIBarStyle.BlackOpaque;
Run Code Online (Sandbox Code Playgroud)