2015-10-11 21 views
8

私はポッドを作成しています。使用したい画像アセットカタログがあります。CocoaPodsの.xcassetから画像を読み込むことができません

s.resource_bundles = { 
    'MyPodResources' => ['*.xcassets'] 
} 

とImages.xcassetsはポッドのルートディレクトリにある:私の.podspecファイルで は、私はそれがこのように設定しています。

imageNamed()を使用して画像を読み込もうとしているときに機能していないだけです。エラーや警告は表示されませんが、画像は表示されません。

ここは楽しい部分です。サンプルアプリケーションのMain.storyboardに画像を追加しようとすると、イメージを選択でき、Interface Builderでうまく表示されます。ただし、サンプルアプリケーションを実行すると、イメージは表示されません。

私はGHのすべての問題を見てきましたが、まだ解決策が見つかりません... Xcode 7/iOS 9の問題ですか?

ありがとうございます!

+1

は 'imageLoad' は何の目標会員 –

+0

の問題のように見えますか? imageNamed関数を使用している場合、デフォルトのバンドルからイメージをロードするので、そこからイメージをロードするためにMyPodResourcesバンドルを直接指定する必要があります。この質問の解決方法を試してください:http://stackoverflow.com/questions/26158980/impossible-to-load-an-image-in-xcassets-on-bundle – iyuna

+0

@Iyuna申し訳ありませんが、imageNamedを意味します。バンドルから読み込もうとしますが、私の研究中、CocoaPodsで必要ではないはずの情報が見つかりました。何とか自動的にバンドルを含める必要があります... – Jure

答えて

7

最後にUIImageの拡張子を書いて、podディレクトリに入れました。それは次のようになります。

class func bundledImage(named: String) -> UIImage? { 
    let image = UIImage(named: named) 
    if image == nil { 
     return UIImage(named: named, inBundle: NSBundle(forClass: MyBasePodClass.classForCoder()), compatibleWithTraitCollection: nil) 
    } // Replace MyBasePodClass with yours 
    return image 
} 

私はそれが好きで使っています: imageView.image = UIImage.bundledImage("icon-grid")

はこれだけです。つまり、誰かがこの重宝しますね!スウィフト3で

0

let bundle: Bundle = Bundle(identifier: "Framework Bundle ID")! 
yourImageView.image = UIImage(named: "imageNameInAssets", in: bundle, compatibleWith: nil) 
関連する問題