离子照片查看器在ios上不起作用



我使用Ionic Photo Viewer来全屏显示图像。我的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上是这样工作的:-

点击此处查看安卓版本

另一方面,在iPhone上是这样工作的:-

点击此处查看iPhone版本

在iPhone上,照片查看器不会打开照片。我试过:-

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

但这也没有奏效。如果你有任何想法如何解决这个问题,请分享。谢谢

这个问题真的很疯狂,不得不花很多时间来找出解决方案。解决方案是"options"变量中的所有参数都是必需的。

遵循以下内容:

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);

至少我必须恢复到1.1.11(从NPM中找到(才能正确显示IOS。对于安卓系统来说,最新版本似乎是可行的。

在1.1.11中,共享似乎不适用于IOS。在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.一些照片查看器问题与此有关,但尚未尝试。

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

ionic cordova plugin rm com-sarriaroman-photoviewer
ionic cordova plugin add com-sarriaroman-photoviewer@1.1.18
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);
}

相关内容

  • 没有找到相关文章

最新更新