导航栏项目的奇怪图像行为
Strange image behaviour of Navigation Bar Item
我正在开发 xamarin mvvmcross 应用程序。
我将 LeftBarButtonItem 用于 open/close 弹出菜单,现在可以使用了。
但由于某些奇怪的原因,我无法正确加载图像。
NavigationItem.LeftBarButtonItem = new UIBarButtonItem (UIImage.FromBundle("menu-button"),UIBarButtonItemStyle.Plain , (s, e) =>{
};
这会将按钮显示为实心蓝色矩形:
但如果我之后调用它
NavigationItem.LeftBarButtonItem.SetBackgroundImage(UIImage.FromBundle("menu-button"),UIControlState.Normal,UIBarMetrics.Default);
它加载了图像,但在蓝色矩形的后面......全部像这样伸展:
我认为如果我将第一行更改为
就可以解决这个问题
NavigationItem.LeftBarButtonItem = new UIBarButtonItem ("",UIBarButtonItemStyle.Plain , (s, e) =>{
};
但随后它会在导航栏外呈现图像...无法post截图,因为代表率低。
如何才能正确加载背景图片?第一个截图中的图像大小是正确的,但我不明白为什么它是纯蓝色的。
您必须在 UIImage 上调用 .ImageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal),因此它不会是模板。
我有一个帮助方法。
public static UIImage GetOriginal(this UIImage image) =>
image.ImageWithRenderingMode (UIImageRenderingMode.AlwaysOriginal);
我正在开发 xamarin mvvmcross 应用程序。 我将 LeftBarButtonItem 用于 open/close 弹出菜单,现在可以使用了。
但由于某些奇怪的原因,我无法正确加载图像。
NavigationItem.LeftBarButtonItem = new UIBarButtonItem (UIImage.FromBundle("menu-button"),UIBarButtonItemStyle.Plain , (s, e) =>{
};
这会将按钮显示为实心蓝色矩形:
但如果我之后调用它
NavigationItem.LeftBarButtonItem.SetBackgroundImage(UIImage.FromBundle("menu-button"),UIControlState.Normal,UIBarMetrics.Default);
它加载了图像,但在蓝色矩形的后面......全部像这样伸展:
我认为如果我将第一行更改为
就可以解决这个问题NavigationItem.LeftBarButtonItem = new UIBarButtonItem ("",UIBarButtonItemStyle.Plain , (s, e) =>{
};
但随后它会在导航栏外呈现图像...无法post截图,因为代表率低。
如何才能正确加载背景图片?第一个截图中的图像大小是正确的,但我不明白为什么它是纯蓝色的。
您必须在 UIImage 上调用 .ImageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal),因此它不会是模板。
我有一个帮助方法。
public static UIImage GetOriginal(this UIImage image) =>
image.ImageWithRenderingMode (UIImageRenderingMode.AlwaysOriginal);