我正在从照片库中选择一张照片,我得到以下内容
AlbumPath:
资产库://asset/asset.JPG ID = 106E99A1-4F6A-45A2-B320-B0AD4A8E8473&安培; EXT = JPG
路径:
/用户/ MYNAME /库/开发商/ CoreSimulator /设备/ 21CB035B-A738-4F74-B121-2DB2A6B5372A /数据/容器/数据/应用/ 3081A323-98AF-4EF6-95B9-29D4C2CD8425 /文档/温度/ IMG_20170408_111143。 JPG
如何将此图像指定给按钮?我尝试了以下内容。
var file = await CrossMedia.Current.PickPhotoAsync(
new Plugin.Media.Abstractions.PickMediaOptions
{
});
Button btn = new Button();
btn.Image = (Xamarin.Forms.FileImageSource)ImageSource.FromFile(file.Path);
按钮上没有显示图像。感谢任何帮助。
谢谢。
答案 0 :(得分:0)
部署应用程序后,应用程序将无法访问您的mac。对于使用图片的应用程序,它需要是iOS应用程序中的捆绑资源。以下是在iOS应用程序中使用图像的简单示例。你肯定会考虑只为你的图像添加一个手势监听器,而不是让它成为一个按钮。如果您尝试仅使用按钮上的图像,则必须进行一些样式调整以使其看起来干净。
图片设置
将图片放入iOS资源文件夹
图片按钮
public class ImageButton : ContentPage
{
private Button _imageBtn = new Button { Image = "icon.png", Text = "Sample button" };
public ImageButton()
{
Content = new StackLayout
{
Children =
{
_imageBtn
}
};
}
}
使用TapGesture的图片
public class ImageButton : ContentPage
{
private Image _imageBtn = new Image { Source = "icon.png" };
private TapGestureRecognizer _imageTap = new TapGestureRecognizer();
public ImageButton()
{
_imageBtn.GestureRecognizers.Add(_imageTap);
Content = new StackLayout
{
Children =
{
_imageBtn
}
};
_imageTap.Tapped += (s, e) =>
{
// handle the tap
};
}
}