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

最好的方法是创建一个 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

您发布的代码对于您尝试做的事情没有多大意义,因为它看起来不像您实际上是以任何方式将标题链接到图像。我也不知道您为什么要释放文本字段 - 除非您关闭自动引用计数,否则该代码应该返回错误。

我会做的(并且在某种程度上,在我的一个项目中)如下:

(1) 创建某种对象,例如 UserImg,它分别具有 UIImage 和 NSString 类型的两个属性。

(2)在上面的函数中,当一个图片被选中时,新建一个UserImg,并将UIImage属性设置为选中的图片。

(3) 显示一个带有文本框和一个确定和取消按钮的 UIAlertView。使用文本框获取您希望用户与图像一起保存的标题。

(4) 设置一个函数来监听 UIAlertView 的 OK 和取消按钮按下。如果用户取消,则删除新的 UserImg。如果用户点击 OK,则将输入文本复制到 UserImg 的 NSString 属性。

(5) 利润?我不确定图像拍摄的背景,所以你必须弄清楚你想如何自己展示东西。

您也可以在模拟器上测试此功能。您只需要设置代码,以便在没有摄像头的情况下从设备的图像文件夹中挑选图像。我完全忘记了如何执行此操作,并且目前没有我的源代码。如果您当时无法自己弄清楚,我稍后会编辑答案以包括在内。

您还必须将图像添加到模拟器中以供选择。为此,退出模拟器上运行的任何应用程序(点击主页按钮,就像在实际设备上一样)并将图像拖到上面。当你这样做时,在右上角,应该有一个将图像保存到设备的选项。

编辑:

我注意到您添加的关于将标题放在图像下方的评论。为此,我将创建一个由 UIImageView 和 UILabel 组成的 UserImgView。这样,当使用自定义视图显示图像时,您可以在其 ImageView 中显示 UIImage,并在标签中显示其正下方的标题。

于 2013-06-13T14:19:29.113 回答
0

这是我要采取的流程

  • 让用户选择/拍照
  • 一旦用户点击确定,就会显示一个提示让他们输入文本。

示例项目 1

示例项目 2

  • 创建一个 UIImageView 并将他们选择的图片添加到其中
  • 创建一个 UILabel 并将其添加到 UIImageView 之上
  • 将他们的文本添加到 UILabel。

如果您需要保存带有文本的图像,那么您需要某种自定义照片编辑器代码,或者只是截取屏幕截图并保存。

于 2013-06-13T14:19:43.003 回答