2016-12-27 11 views
0

В настоящее время я использую библиотеку FFImageLoading в спискеView внутри шаблона настраиваемых данных.Xamarin: FFImageLoading, не показывающий использование внутреннего списка на iOS

<ListView.ItemTemplate> 
        <DataTemplate> 
         <ViewCell> 
          <ViewCell.ContextActions> 
           <MenuItem Clicked="OnDelete" CommandParameter="{Binding .}" Text="Delete" IsDestructive="True" /> 
          </ViewCell.ContextActions> 
          <StackLayout 
           Padding="12,10,12,10" 
           BackgroundColor="Transparent" 
           Orientation="Horizontal"> 
           <Image 
            DownsampleToViewSize="true" 
            Aspect="AspectFit" 
            Source="{Binding FileThumbnail, Converter={StaticResource mimeTypeToImageConverter}}" 
            WidthRequest="60" 
            HeightRequest="60"> 
           </Image> 

Внутри mimeTypeToImageConverter:

public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 
    { 
     if (value is string) 
     { 
      var file = (string)value;  

      if (FileUtilities.IsImageType(file)) 
      { 
       //var fileImageSource = new FileImageSource(); 
       //fileImageSource.File = file; 
       var imageSource = ImageSource.FromFile(file); 
       return imageSource; 
      } 
      else { 
       return ImageSource.FromFile("ic_file_white.png"); 
      } 

     } 
     return null; 
    } 

Я на андроид, но андроид работает отлично. Когда я вернусь к управлению Image, iOS покажет изображение.

Мне действительно нужно это уменьшить размер изображения. Раньше у вас была эта проблема.

ответ

2

Вместо того, чтобы с помощью элемента управления Image, вы должны использовать контроль FFImageLoading

Изменить

<Image>...</Image> 

в

<forms:CachedImage>...</forms:CachedImage> 

также добавить пространство имен

<ContentPage xmlns:forms="clr-namespace:FFImageLoading.Forms;assembly=FFImageLoading.Forms"> 

Кать edImage должен иметь все те же свойства, что и изображение

Ой, если вы упомянули об этом, вам нужно будет добавить DownsampleHeight или DownsampleWidth, чтобы уменьшить размер.

0

Пробовали ли загружать изображения по http, а не https?

Вы должны добавить folowing к вашему info.plist

<key>NSAppTransportSecurity</key> 
<dict> 
    <!--Include to allow all connections (DANGER)--> 
    <key>NSAllowsArbitraryLoads</key> 
     <true/> 
</dict> 
+0

нет я использовать фотографию из библиотеки фотографий в телефоне. – LittleFunny