【问题标题】:Open UIImagePicker when tapping on UIImageView点击 UIImageView 时打开 UIImagePicker
【发布时间】:2012-01-31 18:31:14
【问题描述】:

当用户点击 UIImageview 时,我需要允许用户从源类型相机或照片库添加照片。

我不想通过单击 UIButton 来显示 uiimagepicker 控制器,我希望允许用户通过点击 imageview 来添加它。

我怎样才能做到这一点?我是否应该将按钮添加到 imageview,当点击发生时,呈现一个带有按钮相机和照片库的操作表,并且当用户从操作表中选择 2 个按钮之一允许他将照片添加到 uiimageview 时?

【问题讨论】:

    标签: objective-c xcode uiimageview uibutton uiimagepickercontroller


    【解决方案1】:

    您仍然可以使用 UIButton,只需将该按钮的视图作为您想要的图像即可。

    UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
    btn.frame = CGRectMake(0,0,100,100); //edit for you own frame
    UIImage *img = [UIImage imageNamed:@"myimage.png"];
    [button setImage:img forState:UIControlStateNormal];
    

    这将允许您使用图像作为按钮。

    【讨论】:

    • 感谢您的回复。我不想为 UIbutton 设置图像。我可以将图像设置为默认的图像视图,而不是按钮,例如 addphoto.jpg,当我点击它时,会弹出操作表,其中包含拍照或选择照片等选项。然后应该使用用户拍摄的图像更新图像视图。当使用新图片更新图像视图时,图像上应出现“编辑照片”的标签,因此当我再次点击图像视图时,应弹出操作表。如果未选择任何内容,则 imageview 应该有一个 addemployee.jpg,这是默认图像。
    • 我不明白你为什么不想使用按钮,它更容易,而且它是为什么而构建的。但是说你可以使用手势识别器。这篇文章展示了一个使用 pinch 的示例,但它是相同的过程 stackoverflow.com/questions/3907397/…
    • 您也可以按照自己的喜好查看图像,但在顶部放置一个按钮,该按钮将响应点击。
    【解决方案2】:

    @Amit Shah 有正确的答案 - 您应该使用按钮。

    但如果出于某种原因您必须使用 UIImageView(听起来不像您这样做) - 您可以继承 UIImageView 并覆盖 touchesBegan/touchesEnded 方法:

    http://developer.apple.com/library/ios/#documentation/uikit/reference/UIResponder_Class/Reference/Reference.html

    【讨论】:

    • 你说得对,我们也可以按照你说的方式进行。但我的要求就像我要求的那样。无论如何,我能够克服它。我在imagevew中添加了一个默认img并为其添加了guesture识别器。我想要的是当我点击它时,需要用新的替换旧的。我不甚至必须向它添加 touches started n touches ending 方法。无论如何,再次感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多