0

我正在使用 MWPhotoBrowser 在我的应用程序中显示单个图像。我已在主故事板中将视图控制器的类设置为 MWPhotoBrowser,并添加了以下代码,但图像无法加载。

    let photos = NSMutableArray()
    let photo = MWPhoto(URL: NSURL(string: "http://images.nationalgeographic.com/wpf/media-live/photos/000/911/cache/man-ocean-phytoplankton_91111_600x450.jpg"))
    photos.addObject(photo)


    self.photos = photos
    self.displayActionButton = true
    self.displayActionButton = true;
    self.displayNavArrows = true;
    self.displaySelectionButtons = true;
    self.alwaysShowControls = true;
    self.zoomPhotosToFill = true;
    self.enableGrid = true;
    self.startOnGrid = true;
    self.enableSwipeToDismiss = true;

这些是委托方法。我注意到我们需要一个返回 MWPhoto 的 photoAtIndex 但委托只有一个返回 MWPhotoProtocol 的函数

    func numberOfPhotosInPhotoBrowser(photoBrowser: MWPhotoBrowser!) -> UInt
{
    return UInt(photos.count)
}
func photoBrowser(photoBrowser: MWPhotoBrowser!, photoAtIndex index: UInt) -> MWPhotoProtocol!
{
    return photos.objectAtIndex(Int(index)) as! MWPhotoProtocol
}

我得到以下屏幕:

在此处输入图像描述

4

1 回答 1

1

首先,MWPhoto符合MWPhotoProtocol,所以你应该这样做:

var photos = [MWPhoto]()
let photo = MWPhoto(URL: "...")
photos.append(photo)

然后就可以photos[index]直接退货了。

编辑 - 你应该阅读你的控制台。使用您提供的 URL,将记录以下内容:

App Transport Security 已阻止明文 HTTP (http://) 资源加载,因为它不安全。可以通过应用程序的 Info.plist 文件配置临时例外。

我将您的链接更改为https,一切正常。

于 2016-06-02T05:48:22.037 回答