Ionic Photo Viewer无法在iOS上使用

trnvg8h3  于 12个月前  发布在  Ionic
关注(0)|答案(4)|浏览(197)

我使用离子照片查看器显示图像在全屏.我的HTML是:-

<ion-slides>
  <ion-slide col-12 *ngFor="let image of businessImages | async">
     <div class="main-slider-image" [defaultImage]="'assets/imgs/default_image_slider.png'" [lazyLoad]="image.thumb400Url" [offset]="100" (click)="openImage(image.originalUrl)">
     </div>
  </ion-slide>
</ion-slides>

字符串
在TypeScript上:-

openImage(url) {
    this.photoViewer.show(url, "", { share: false });
}


在Android上是这样工作的:
Click here to see Android version
另一方面,在iPhone上是这样工作的:-
Click here to see iPhone version
在iPhone上,照片查看器无法打开照片。我试过:

openImage(url) {
    this.photoViewer.show(url);
}


但这也不起作用。如果你有任何想法如何解决这个问题,请分享。谢谢

js4nwp54

js4nwp541#

这个问题真的很疯狂,不得不花很多时间来弄清楚解决方案。解决方案是“选项”变量中的所有参数都是必需的。
按照这个:

const options = {
    share: true, // default is false
    closeButton: true, // default is true
    copyToReference: true, // default is false
    headers: "",  // If it is not provided, it will trigger an exception
    piccasoOptions: { } // If it is not provided, it will trigger an exception
};

this.photoViewer.show(url, "", options);

字符串

7cwmlq89

7cwmlq892#

至少我必须恢复到1.1.11(从NPM找到)才能正确显示IOS。对于Android,最新版本似乎可以工作。
共享似乎不适用于IOS在1.1.11.在Android最新的照片查看器插件,它似乎工作.所以现在我有:

private viewPhoto(url: string): void {
    if (url && url != 'assets/images/profile.png') {
      this.photoViewer.show(url, '', { share: this.platform.is('android') });
    }
  }

字符串
我认为讨论这些问题的正确位置是https://github.com/sarriaroman/photoviewer/issues
还有一件事,我正在考虑使用另一个插件,https://github.com/Riron/ionic-img-viewer。一些照片查看器的问题有一个链接到这个,但还没有尝试过。

yizd12fk

yizd12fk3#

我也有同样的错误,我用这个来解决。

ionic cordova plugin rm com-sarriaroman-photoviewer
ionic cordova plugin add [email protected]
npm install --save @ionic-native/photo-viewer

字符串
在你的函数上,如果设备使用ios,decodeURIComponent是答案

showImage(url,title) {
    var options = {
      share: true, // default is false
      closeButton: true, // iOS only: default is true
      copyToReference: true // iOS only: default is false
    };

    if (this.platform.is("ios")) {
      url = decodeURIComponent(url);
    }

    this.photoViewer.show(url, title, options);
  }

prdp8dxp

prdp8dxp4#

对于IOS,使用**FileOpen原生库,而不是PhotoViwer**

相关问题