【发布时间】:2021-11-18 10:37:33
【问题描述】:
所以这是我的问题。
我需要用 3 个按钮制作一个应用程序。所有这些按钮都使用户能够添加图像,该图像假定与此类按钮位于完全相同的位置。
我这样声明我的按钮
@IBOutlet weak var image1: UIButton!
@IBOutlet weak var image2: UIButton!
@IBOutlet weak var image3: UIButton!
@IBOutlet weak var buttonTest: UIButton!
首先尝试将图像应用到按钮以添加图像,它可以工作,但图像大小不合适
第二次我尝试使用这样的背景图片
但它不起作用。图片没有出现。
我也尝试使用 UIImageView 而不是 UIButton,但 UIImageVIew 没有“动作”,并且很难创建一个gestureRecognizer 并将其与我的 ImagePicker 一起使用
所以,我的问题是,是否可以将 UIButton 子类化以在其中放置 UIImageView ?因为我不想使用在 UIImageView 中更改 UIImage 的按钮重复相同的代码 3 次。
我希望我已经足够清楚了。如果您需要更多解释,请告诉我。
谢谢你:D
编辑:
好的,现在我想用 UIImageVIew 来做这件事。 所以我声明了每个 UIImageView,并添加了一个调用函数的手势识别器。如何添加参数“sender”以将点击的图像发送到函数?
@IBOutlet weak var image2: UIImageView!
@IBOutlet weak var image3: UIImageView!
@IBOutlet weak var image4: UIImageView!
@IBOutlet weak var image5: UIImageView!
@IBOutlet weak var image6: UIImageView!
let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(imageTapped(tapGestureRecognizer:)))
image1.addGestureRecognizer(tapGestureRecognizer)
image2.addGestureRecognizer(tapGestureRecognizer)
image3.addGestureRecognizer(tapGestureRecognizer)
image4.addGestureRecognizer(tapGestureRecognizer)
image5.addGestureRecognizer(tapGestureRecognizer)
image6.addGestureRecognizer(tapGestureRecognizer)
@objc func imageTapped(tapGestureRecognizer: UITapGestureRecognizer)
{
let tappedImage = tapGestureRecognizer.view as! UIImageView
// Your action
}
【问题讨论】:
-
"但是 UIImageVIew 没有"动作",很难创建一个gestureRecognizer 并将它与我的ImagePicker 一起使用"真的吗?那么,也许这就是你应该提出的问题。我一直在制作可点击的图像视图。听起来这就是你真正需要的。
-
@matt 是的,我试过了,它奏效了。但我没有找到如何将它与我的 ImagePicker 链接
-
再问一遍,然后显示你的代码。同样,我可以毫不费力地点击图像视图并用图像选择器的结果填充它,所以这是完全可能的。
-
@matt 不错!好的,我会给你一些屏幕截图
-
不,不显示代码图片。代码是文本。只需复制、粘贴、格式化即可。
标签: ios swift uibutton uiimageview uiimage