0

このコードを iphone シミュレーターでテストすることはできませんが、UIImagepickercontroller クラスで誰かが撮影した写真にキャプションを追加する最良の方法であるかどうか疑問に思っていました。

- (void)imagePickerController:(UIImagePickerController *) Picker
      didFinishPickingMediaWithInfo:(NSDictionary *)info {

_selectedImage.image = [info objectForKey:UIImagePickerControllerOriginalImage];
    UITextField *caption= [[UITextField alloc] initWithFrame:CGRectMake( 60,640,200,40)];
    caption.borderStyle = UITextBorderStyleRoundedRect;
   caption.font = [UIFont systemFontOfSize:15];
    caption.placeholder = @"Type Caption";
   [caption release];
}
4

3 に答える 3

0

投稿したコードは、キャプションを実際に画像にリンクしているようには見えないため、やろうとしていることにはあまり意味がありません。また、テキスト フィールドを解放する理由もわかりません。自動参照カウントをオフにしない限り、そのコードはエラーを返すはずです。

私がすること(そして、私のプロジェクトである程度までしたこと)は次のとおりです。

(1) UIImage と NSString 型の 2 つのプロパティを持つ、UserImg のようなある種のオブジェクトを作成します。

(2) 上記の関数では、画像が選択されたときに、新しい UserImg を作成し、UIImage プロパティを選択した画像に設定します。

(3) テキスト ボックスと [OK] ボタンと [キャンセル] ボタンを含む UIAlertView を表示します。テキスト ボックスを使用して、ユーザーが画像と共に保存するキャプションを取得します。

(4) OK ボタンとキャンセル ボタンの押下を UIAlertView でリッスンする関数を設定します。ユーザーがキャンセルした場合は、新しい UserImg を削除します。ユーザーが OK を押した場合、入力テキストを UserImg の NSString プロパティにコピーします。

(5) 利益?撮影の文脈がよくわからないので、自分でどのように表示したいかを理解する必要があります。

この機能は、シミュレーターでもテストできます。カメラが存在しない場合にデバイスの画像フォルダーから画像を取得するようにコードを設定するだけです。これを行う方法を正確に忘れており、現在ソースコードを持っていません。その時間内に自分で理解できない場合は、後で回答を編集してそれを含めます。

また、シミュレーターに画像を追加して選択する必要があります。これを行うには、シミュレーターで実行されているアプリを終了し (実際のデバイスと同じようにホーム ボタンを押します)、その上に画像をドラッグします。そうすると、右上隅に、画像をデバイスに保存するオプションが表示されます。

編集:

キャプションを画像の下に置くことについてあなたが追加したコメントに気づきました。そのためには、UIImageView と UILabel で構成される UserImgView を作成します。こうすることで、カスタム ビューを使用して画像を表示するときに、その ImageView に UIImage を表示し、そのすぐ下のラベルにキャプションを表示できます。

于 2013-06-13T14:19:29.113 に答える
0

最善の方法は、NSDictionary を作成することです

NSMutableDictionary *photoCaptionDict = [[NSMutableDictionary alloc] initWithObjectsAndKeys:_selected.image,@"image",caption.text,@"caption",nil];

写真を見せたいときはいつでも

[photoCaptionDict objectForKey:@"image"];

[photoCaptionDict objectForKey:@"caption"];

テキストを示します。

于 2013-06-29T07:16:34.343 に答える
0

これが私が取る流れです

  • ユーザーが写真を選択/撮影できるようにする
  • ユーザーが [OK] をクリックすると、テキストを入力できるプロンプトが表示されます。

サンプル プロジェクト 1

サンプル プロジェクト 2

  • UIImageView を作成し、選択した画像をそれに追加します
  • UILabel を作成し、UIImageView の上に追加します。
  • テキストを UILabel に追加します。

画像にテキストを重ねて保存する必要がある場合は、何らかのカスタム フォト エディター コードが必要になるか、スクリーンショットを撮って保存するだけです。

于 2013-06-13T14:19:43.003 に答える