UIImagePicker添加标题

时间:2013-06-13 12:41:24

标签: iphone objective-c

我无法在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];
}

3 个答案:

答案 0 :(得分:0)

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

我会做什么(并且在一定程度上,在我的项目中做了)如下:

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

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

(3)使用文本框和okay and cancel按钮显示UIAlertView。使用文本框获取您希望用户使用图像保存的标题。

(4)设置一个功能来收听UIAlertView,然后取消按钮。如果用户取消,请删除新的UserImg。如果用户点击正常,请将输入文本复制到UserImg的NSString属性。

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

您也可以在模拟器上测试此功能。您只需设置代码,以便在没有摄像头的情况下从设备的图像文件夹中选择图像。我忘记了如何做到这一点,并且目前没有我的源代码。我稍后会编辑答案,如果你在那段时间内无法自己解决这个问题。

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

编辑:

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

答案 1 :(得分:0)

这是我要采取的流程

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

Sample Project 1

Sample Projects 2

  • 创建UIImageView并将所选图片添加到其中
  • 创建UILabel并将其添加到UIImageView
  • 之上
  • 将他们的文字添加到UILabel。

如果您需要在其上方保存带有文字的图像,那么您需要某种自定义照片编辑器代码,或者只需截取并保存即可。

答案 2 :(得分:0)

最好的方法是创建一个NSDictionary

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

每当你想要展示你刚刚做的图片时

[photoCaptionDict objectForKey:@"image"];

[photoCaptionDict objectForKey:@"caption"];

显示文字。