我无法在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];
}
答案 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)
这是我要采取的流程
如果您需要在其上方保存带有文字的图像,那么您需要某种自定义照片编辑器代码,或者只需截取并保存即可。
答案 2 :(得分:0)
最好的方法是创建一个NSDictionary
NSMutableDictionary *photoCaptionDict = [[NSMutableDictionary alloc] initWithObjectsAndKeys:_selected.image,@"image",caption.text,@"caption",nil];
每当你想要展示你刚刚做的图片时
[photoCaptionDict objectForKey:@"image"];
和
[photoCaptionDict objectForKey:@"caption"];
显示文字。