繁体   English   中英

Swift UIImage作为按钮

[英]Swift UIImage as button

我现在正在学习制作录音机应用。 基本上,我想向UIView添加轻击手势以触发/停止记录。 触发我的记录器后,图像应更改为另一幅。 我的问题是:

我应该控制两个@IBAction函数还是仅一个? 如何区分“触发”和“停止”动作? 我的猜测是,我可能只需要一个功能,在它的开头,我会检查图像名称:是录制图标还是停止图标,并相应地执行一些操作。 但是,我找不到UIImage的属性来标识它包含的图像。

我是ios的新手,所以这可能不是一个好问题,但是请耐心等待。 顺便说一句,我正在使用界面生成器进行此操作。

您只需要一个IBAction可以了,您可以通过操作内的以下代码检查图像:

if yourImageView.image == UIImage(named: "yourImageName") {
//perform some action here
} else {
//perform some action here 
}

通过使用这样做highlightedImageisHighlighted的性质UIImageView 您可以使用单个IBAction来完成此操作

viewDidLoad方法中:

yourImageView.image = UIImage(name:"RecordImage/TriggerImage")
yourImageView.highlightedImage = UIImage(name:"StopImage")

您也可以在界面构建器中设置这些图像。 如下面的图像所示,您需要同时为ImageHighlighted属性设置图像。

UIImageView界面构建器

在您的操作方法内:

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM