1

私はiPhoneアプリケーションに取り組んでいます。Albumから既存の写真を選択するオプションがあります。iMessageにあるように、一部の画像にすばやくアクセスするためのオプションがあるはずです。詳細については、添付のスクリーンショットを確認してください。

何か案が ?

ここに画像の説明を入力

4

1 に答える 1

0

私は私の質問の解決策を見つけました:

まず、以下を使用してフォト アルバムから最大 20 個の最近の画像を読み込んでいますcode。次に、すべての画像を に追加していますUIScrollView。最後はMore. "UIImagePickerController"ユーザーがそれをクリックすると、他の画像を選択するためのiPhone のデフォルトが表示されます。

誰かがより良い解決策を見つけた場合は、投稿してください。

コード

ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
[library enumerateGroupsWithTypes:ALAssetsGroupSavedPhotos usingBlock:^(ALAssetsGroup *group, BOOL *stop) {
    [group setAssetsFilter:[ALAssetsFilter allPhotos]];
    [group enumerateAssetsWithOptions:NSEnumerationReverse usingBlock:^(ALAsset *asset, NSUInteger index, BOOL *innerStop) {
        if (asset) {
            if ([self.stackForImages count] >= 20) {
                // Stop the enumerations
                *stop = YES;
                *innerStop = YES;
                [self initializeMedia];
            } else {
                ALAssetRepresentation *representation = [asset defaultRepresentation];
                NSMutableDictionary *workingDictionary = [[NSMutableDictionary alloc] init];
                [workingDictionary setObject:[asset valueForProperty:ALAssetPropertyType] forKey:UIImagePickerControllerMediaType];
                [workingDictionary setObject:[UIImage imageWithCGImage:[asset thumbnail]] forKey:UIImagePickerControllerEditedImage];
                [workingDictionary setObject:[UIImage imageWithCGImage:[representation fullScreenImage]] forKey:UIImagePickerControllerOriginalImage];
                [workingDictionary setObject:[[asset valueForProperty:ALAssetPropertyURLs] valueForKey:[[[asset valueForProperty:ALAssetPropertyURLs] allKeys] objectAtIndex:0]] forKey:UIImagePickerControllerReferenceURL];
                [self.stackForImages addObject:workingDictionary];
            }
        }
    }];
    if ([self.stackForImages count] > 0) {
        [self initializeMedia];
    }
} failureBlock: ^(NSError *error) {
}];
于 2015-06-30T04:07:53.057 に答える