当相应的图像视图被触摸时,如何将图像的数据库 ID 传递给方法?

Posted

技术标签:

【中文标题】当相应的图像视图被触摸时,如何将图像的数据库 ID 传递给方法?【英文标题】:How can I pass the database id of an image to an method, when the corresponding UIImageView is touched up? 【发布时间】:2009-05-14 09:07:09 【问题描述】:

我有一个 UIImageViews 网格。图像名称来自 sqlite3 数据库。当用户选择一张图片时,我需要调用一个方法将该图片设置为首选图片。

但要做到这一点,这个方法必须接收数据库中图像的id。现在,我真的不知道如何实现在网格中单击特定 UIImageView 将调用该方法,并将 id 作为参数。

假设我有这个方法:

(void)makeImageAsDefault:(NSInteger)imageID ....

在 InterfaceBuilder 中,当触摸事件发生时,我没有机会为操作方法提供正确的参数。我想我必须在这里以编程方式做一些事情。

在网络上,我会创建一个带有参数的 URL。 iPhone-OS 上是如何做到这样的事情的?

【问题讨论】:

【参考方案1】:

您可以简单地使用 uiimageview 对象的 tag 属性并将 imageId 设置为它。

如果您指定并修改了事件,您可以引用发送者(即 uiimageview 对象)从对象中获取标签并使用它做任何您想做的事情。

我猜这是最简单的方法。如果您需要其他的标签属性 您总是可以子类化 uiimageview 并向其添加额外的属性(这也是干净且正确的方法)

【讨论】:

谢谢!我发现子类化是解决问题的方法。

以上是关于当相应的图像视图被触摸时,如何将图像的数据库 ID 传递给方法?的主要内容,如果未能解决你的问题,请参考以下文章

当 CollectionView 图像缩放时如何返回

如何根据触摸时创建的形状裁剪图像?

目标c:从视图/图像/按钮外部开始触摸时检测触摸开始/向下

从滚动视图添加多个图像

如何检测 UI 图像上的触摸?

UIScrollView 问题