0

MWPhotoBrowser を使用して、アプリに 1 つの画像を表示しています。ビュー コントローラーのクラスをメイン ストーリーボードで 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 に答える