是否可以将一个 UIButton 对象添加到多个 UIImageViews?

Posted

技术标签:

【中文标题】是否可以将一个 UIButton 对象添加到多个 UIImageViews?【英文标题】:Is it possible to add one UIButton object to multiple UIImageViews? 【发布时间】:2014-03-11 19:16:11 【问题描述】:

我有一个scrollView,在这个scrollView 里面,有各种PFImageView 对象。

我需要在每个PFImageView(同一个地方和同一个按钮)上都有一个UIButton 对象,它将加载一个带有所点击图像信息的子视图。

这可能吗?

【问题讨论】:

请编辑标题,并尽量使问题更清晰.. 我猜我的标题必须保持不变,因为我试图将多个操作设置为单个按钮。我想我会编辑内容。谢谢。 您真的想要同时执行多个操作吗? 所以你有 N 个 imageViews 和 N 个按钮……为什么会有重复的操作? 不是同时。换句话说,我有一个带有 10 个 PFImageViews 的 ScrollView。 10 张图片。每个图像都将具有相同的按钮。当您单击该按钮时,单击的图像的详细信息(或信息)将显示为子视图。这就是为什么我需要 1 个按钮(每张图像中相同)来给我多个操作。换句话说.. 相同的操作但不同的内容。明白了吗? :// 【参考方案1】:

所以,让我直截了当...您只想创建 一个 按钮,将其放在 multiple imageViews 上并让它以不同的方式响应(取决于哪个imageView 被窃听了)?

在这种情况下...,你不能在 N 个地方有 1 个按钮。

但是...您可以创建 N 个按钮对象并将它们全部分配给 1 个单一目标方法,其中...您可以根据按钮的标签具有不同的功能。

PS:UICollectionView 会是更干净的方法。

【讨论】:

@adriennemhenry :您要创建什么样的功能和用户界面?也许您想要的屏幕截图可以帮助某人提出建议 嘿!谢谢!! ...我设置了 N 个按钮(运行良好)我知道 UICollectionView 可能更干净,但我不知道如何设置它! (我是业余爱好者)。但我一定会牢记这一点,并开始挖掘有关如何设置它的信息。我真的很感谢你的时间。再次感谢! @adriennemhenry : np :) 仅供参考:设置collectionView 与设置tableView 非常相似,因此如果您已经知道tableView,学习曲线不会太陡跨度> 【参考方案2】:

您不能在多个位置使用一个控件,就这么简单。 我看到你关于不想使用 UICollectionView 的评论,因为它不是你要找的设计,但我想知道你想用 UIScrollView 创建什么样的设计,只是因为 UICollectionView 不起作用。

UICollectionView 不限于单元格的线/网格显示,而是可以通过多种方式进行自定义。您应该观看 WWDC 2012 视频“Introducing Collection Views”:在视频的最后,展示了一些 UICollectionView 的可能性,其中一些令人印象深刻。

此外,https://www.cocoacontrols.com/ 网站是寻找自定义控件甚至是您自己设计灵感的好地方。

这与原始问题有点离题,但我真的认为可以使用 UICollectionView 创建 UIScrollView 中的 UIImageView 集合,特别是如果您想在“单元格”中添加一些控件。

【讨论】:

由于我是 ios 新手,我认为 collectionView 仅设置为 Grid。谢谢!! 如果您是 iOS 开发新手,我鼓励您观看一些 WWDC 视频,它们非常有趣。另外,一个很棒的教程网站是raywenderlich.com。当然,还有 *** 的详细问题。【参考方案3】:

是的。向按钮添加操作时应使用特定的控件事件。

例如在我的应用程序中,只要用户按住一个按钮(拖出取消),我就会记录/停止/取消声音..就像对讲机电话...

[recordButton addTarget:self action:@selector(recordStart) forControlEvents:UIControlEventTouchDown];
[recordButton addTarget:self action:@selector(recordStop) forControlEvents:UIControlEventTouchUpInside];
[recordButton addTarget:self action:@selector(recordCancel) forControlEvents:UIControlEventTouchDragExit];

【讨论】:

以上是关于是否可以将一个 UIButton 对象添加到多个 UIImageViews?的主要内容,如果未能解决你的问题,请参考以下文章

将 UIImageView 添加到 UIButton

使用自动布局时何时将 imageView 添加到 UIButton

如果不存在,Mongoose会将多个对象添加到数组中

如果不存在,Mongoose 将多个对象添加到数组

在 Swift 中将多个 UIButton 添加到多个 UIView

将 UIImageView 或 UITextView 添加到自定义 UIButton 类的正确方法是啥?