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

时间:2013-01-25 22:38:15

标签: c# iphone ios xamarin.ios uinavigationbar

我试图将其转换为Monotouch C#:

[[UINavigationBar appearance] setBarStyle:UIBarStyleBlackOpaque]; 

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

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

1 个答案:

答案 0 :(得分:5)

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

然而,Apple实现它的外观支持的方式允许很多无证的东西可以工作(并且如果Apple改变它的内部表示,希望继续工作)。

无论如何,这意味着你可以稍微破解一下,例如做类似的事情:

IntPtr handle = UINavigationBar.Appearance.Handle;
var appearance = new UINavigationBar (handle);
appearance.BarStyle = UIBarStyle.BlackOpaque;