setImage
无法UIButton
。
设置backgroundColor
时使用Image显示图像我想设置它" backButton.png"
当setImage为UIButton
时,它根本不显示
backButton.SetImage (UIImage.FromFile ("/Images/backButton.png"), UIControlState.Normal);
我想将图片设置为UIButton
。
//下面是代码
UIButton backButton = UIButton.FromType(UIButtonType.Custom);
backButton.Frame = new RectangleF (5, 5, 45, 30);
backButton.BackgroundColor = UIColor.FromPatternImage (UIImage.FromBundle ("/Images/backButton.png"));
backButton.SetImage (UIImage.FromFile ("/Images/backButton.png"), UIControlState.Normal);
backButton.TouchUpInside += (sender, ea) => {
this.NavigationController.PopViewControllerAnimated(true);
};
答案 0 :(得分:0)
我对Xamarin
了解不多。但是xcode项目中呈现的目录结构与实际不同(在app编译之后)
所有文件和资源都驻留在名为main bundle的同一目录中。
要访问您的资源,您只需从主要包中请求它。您不必指定xcode项目导航器的目录(在哪个资源所在的位置)。
您可以阅读更多directory structure here
答案 1 :(得分:0)
这是因为从属性框中设置Visual Studio中的图像时,它会设置图像路径,如images \ image1.png [当image1.png文件位于\ Resources \ Images文件夹中时。
但MAC并不支持" \"路径,您需要提供" /"。
的路径答案 2 :(得分:0)
我最近遇到过这个问题。我读到Apple最近强制执行一项更改,当您在Xamarin中创建项目时,所有资源必须位于Resources目录中。您可以在Resources目录中创建Image目录并在那里显示图像。
现在回读一下它就像 - 如果图像在Resources目录中,你可以使用
UIImage.FromFile ("backButton.png")
但是如果你的图像在Resources / Images中,那么只需使用
UIImage.FromFile ("Images/backButton.png")
注意在Images目录之前没有反斜杠,现在它位于Resources目录中。
这对我有用。对不起,我不记得告诉我有关目录中资源的更改和存储的链接,但这解决了我所有与资源相关的问题。
答案 3 :(得分:0)
在您发布的代码中:
backButton.BackgroundColor = UIColor.FromPatternImage (UIImage.FromBundle("/Images/backButton.png"));
backButton.SetImage (UIImage.FromFile ("/Images/backButton.png"), UIControlState.Normal);
您在一行UIImage.FromFile
和另一行UIImage.FromBundle
中使用。如果我理解您更正了"FromBundle"
版本,那么请尝试将此版本用于SetImage
。