[英]How do I change a UIImage for another UIImage by clicking a button in Swift 3?
[英]Swift UIImage as button
我现在正在学习制作录音机应用。 基本上,我想向UIView添加轻击手势以触发/停止记录。 触发我的记录器后,图像应更改为另一幅。 我的问题是:
我应该控制两个@IBAction函数还是仅一个? 如何区分“触发”和“停止”动作? 我的猜测是,我可能只需要一个功能,在它的开头,我会检查图像名称:是录制图标还是停止图标,并相应地执行一些操作。 但是,我找不到UIImage的属性来标识它包含的图像。
我是ios的新手,所以这可能不是一个好问题,但是请耐心等待。 顺便说一句,我正在使用界面生成器进行此操作。
您只需要一个IBAction
可以了,您可以通过操作内的以下代码检查图像:
if yourImageView.image == UIImage(named: "yourImageName") {
//perform some action here
} else {
//perform some action here
}
通过使用这样做highlightedImage
和isHighlighted
的性质UIImageView
。 您可以使用单个IBAction
来完成此操作
在viewDidLoad
方法中:
yourImageView.image = UIImage(name:"RecordImage/TriggerImage")
yourImageView.highlightedImage = UIImage(name:"StopImage")
您也可以在界面构建器中设置这些图像。 如下面的图像所示,您需要同时为Image
和Highlighted
属性设置图像。
在您的操作方法内:
yourImageView.isHighlighted = !yourImageView.isHighlighted
if yourImageView.isHighlighted
{
//so now the UIImageView shows stop image that means we are in recording mode
// do the actions that are to be done in recording mode like start recording updating other UI etc
}
else
{
//so now the UIImageView shows Record/Trigger image that means are in normal mode or not recording
// do the actions that are to be done in normal mode like stop recording (if required )updating other UI etc
}
第一步-在ViewController类中声明一个属性以检查按钮的状态
如果被选中= true //录制正在进行
如果为假//录制停止
//declaration in ViewController class
var isChecked = false
第2步-添加按钮imageView并分配其按钮动作,如下所示
@IBAction func BottomImageBtnAction(_ sender: UIButton) {
isChecked = !isChecked
if isChecked {
//here şet image as stop
}
else {
//here set image as Start
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.