0

を使用して写真を撮りたいアプリケーションがあり、UIImagePickerControllerその結果の画像をサムネイル ビューに貼り付けます。しかし、アプリを終了するときに、ユーザーが最後に中断したときと同じサムネイルを再表示したいと考えています。私の質問は 3 つあります。

  1. アプリのライフサイクル間で画像の保存と読み込みを実装する最良の方法は何ですか?

  2. ユーザーが写真を撮ったときのデフォルトのシャッター音を変更するにはどうすればよいですか?

  3. ユーザーが選択した場合、上記のすべてをデフォルト設定にリセットするにはどうすればよいですか?

4

3 に答える 3

1

コア データまたは NSUserDefault を使用しようとしています。いくつかのリンクで開始できます : 1. http://www.raywenderlich.com/934/core-data-on-ios-5-tutorial-getting-started .com/2012/03/tutorial-getting-started-with-core-data-in-ios-5-using-xcode-storyboards/ 3. いくつかのコード:

//Saving:  
[[NSUserDefaults standardUserDefaults] setObject:UIImagePNGRepresentation(image)forKey:key];
//Loading:     
NSData* imageData = [[NSUserDefaults standardUserDefaults] objectForKey:key];
    UIImage* image = [UIImage imageWithData:imageData];
于 2012-11-30T04:15:18.383 に答える
0

デリゲートでできることは、画像をローカルに保存するだけです(私は通常、sqliteを好みます)。アプリを起動するときに、選択クエリを実行して、画像が存在するかどうかを確認し、存在する場合は、どれが存在するかを確認するだけです最新のもの(またはピックアップしたいケース)。

うまくいけば、それはあなたに実用的なアイデアを与えるでしょう.

どんな懸念でも、私に知らせてください。:)

于 2012-11-30T04:12:48.617 に答える
0

画像データをNSUserDefaults(他の人が言及したように)またはアプリのサンドボックスに保存するか、次のdidFinishPickingMediaWithInfoようにデリゲートのデバイスのカメラロールに画像を保存することもできます。

ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];  
//Block Request to save the image to camera roll  
[library writeImageToSavedPhotosAlbum:[[info objectForKey:UIImagePickerControllerOriginalImage] CGImage] orientation:(ALAssetOrientation)[[info objectForKey:UIImagePickerControllerOriginalImage] imageOrientation] completionBlock:^(NSURL *assetURL, NSError *error){  
    if (error) {  
        NSLog(@"Error saving to Albums");  
    } else {
        NSLog(@"Saved Image Url %@", assetURL);
    }  
}];  
[library release];

デリゲート- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info情報ディクショナリ オブジェクトには、キーの画像 URL があり、これを使用して画像を取得できます。これもALAssetsLibraryUIImagePickerControllerReferenceURLを使用して行います。HTH。

于 2012-11-30T04:26:35.817 に答える