問題タブ [photokit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
634 参照

ios - PhotoKit を使用してフォト アルバムから要求された鮮明な画像を取得できません

PhotoKit を使用して、次のようなシステム アルバムの 1 つで写真を取得しています。

次に、カスタム ヘルパー メソッド:(void)loadImageFromPHAsset:(PHAsset *)assetで、次のようにします。

だから私は画像の配列を持っていて、それらを my に提示しますUICollectionViewCell:

しかし、私が得たのはこのようなものです。非常にぼやけています。どうすれば明確にできますか? ここに画像の説明を入力

0 投票する
1 に答える
2015 参照

ios - Photokit を使用してメタデータ付きの写真を書き込む

現在、ALAsset フレームワークを使用して、画像をフォト ライブラリからドキュメント ディレクトリにメタデータとともに保存しています。私が使用するコードは

このコードを変換して Photo Kit を使用したいと考えています。私の調査から、フォトキットが書き込みを処理する方法を見つけました

0 投票する
0 に答える
1852 参照

ios - スマート アルバムを取得するときに、fetchAssetCollectionsWithType の結果を並べ替えることができますか?

fetchAssetCollectionsWithType を呼び出すと、ほとんどのコレクション タイプで適切に並べ替えられた結果を取得するのに問題はありません。例えば:

すべてのアルバムを正しく並べ替えますが、並べ替え順序を逆にすると、逆の結果が得られます。

PHAssetCollectionTypeSmartAlbum に対して同じことを行うと、次のようになります。

結果は毎回同じ順序ですが、特定の順序で返されるわけではありません。順序を逆にしたり、ソート記述子を「endDate」などの別のものに変更したりしても、結果には影響しません。アイテムが実際に次のようなプロパティを持っていることを確認しました。

これにより、次のようなログが生成されます。 - 0 localizedTitle - すべての写真、推定カウント - 0 localizedTitle - 非表示、推定カウント - 0 localizedTitle - 最近追加された、推定カウント - 0

正しくソートされた人はいますか?

基本的に、結果を配列に取り込んでソートすることになりました。たまたまカメラロールとお気に入りが最初に欲しいだけです。

0 投票する
2 に答える
2343 参照

ios - PhotoKit でメモリ使用量を減らす方法は?

システムアルバムから写真をPhotoKit取得してUICollectionView.

  1. の場合、次のUICollectionViewCellように設定します。

    /li>
  2. my を初期化するとき、次からUICollectionView写真を取得します:のみ:PHAssetcollectionCamera Roll

    /li>
  3. 次に、次のように上UIImageからリクエストします。PHFetchResult

    /li>

しかし、それを実行してUICollectionView十分に速くスクロールすると、メモリ使用量が次のように急激になることがわかりました。

メモリ使用量

メモリが足りないときにクラッシュする場合に備えて、どうすればそれを減らすことができますか?

0 投票する
1 に答える
538 参照

ios - Cannot convert UIImage to NSData when fetched with PhotoKit

My scenario is that I select one of the photos fetched from system album with PhotoKit and presented in my UICollectionView and pass the selected photo (UIImage) to my next UIView and send it to remote server in form of NSData. But when I put breakpoint before sending to track the NSData I found that the UIImage had data with allocated memory while NSData did not.

Here is the code to fetch the UIImage (Please notice that I didn't specify any PHImageRequestOptions object):

I convert the UIImage to NSData like this:

When I tracked the variables, the UIImage contains data as below:

enter image description here

But the NSData is nil as below:

enter image description here

And what was ODD is that if I specified an PHImageRequestOptions object for the PHImageManager to request images, the NSData wouldn't be nil. I'm not sure what was changed with or without the PHImageRequestOptions and why it would make such difference.

UPDATE: What I found is that if you specify PHImageRequestOptions to nil then the default options will force it to fetch photos asynchronously which, in my opinion, can be unstable for NSData, so when I specify options.synchronous = YES; it would work.

But in this case, would it cause any retain cycle or some PhotoKit objects won't get released?

0 投票する
1 に答える
512 参照

ios - PHCachingImageManager から固定サイズの画像を取得する

私は自分のサムネールを自分PHCachingImageManagerのビルトインに入れることができるように、imageView自分UITableViewCellのサムネールを取得しようとしています。

ログから、AssetGridThumbnailSize = 80 x 80 (40 x 40 retina) であることがわかります。

サムネイルサイズ: {80, 80}

contentMode をに設定しましたPHImageContentModeAspectFillが、画像を取得すると、サイズがすべて異なり、UITableView見た目が非常に混沌としています。

PHCachingImageManager適切なサイズの画像を返してもらうにはどうすればよいですか?