简体   繁体   中英

hide/show uiimageview with animation when clicking button

当我单击按钮时,我的图像将随着动画移出屏幕,而当我再次单击该按钮时,该如何恢复呢?

On the button click event, simply animate the x coordinate of origin of the imageView according to your requirement.

Example:

@IBAction func onTapButton(_ sender: UIButton)
{
    if sender.isSelected
    {
        UIView.animate(withDuration: 2.0, animations: {
            self.imageView.frame.origin.x = 0.0
        })
    }
    else
    {
        UIView.animate(withDuration: 2.0, animations: {
            self.imageView.frame.origin.x = UIScreen.main.bounds.width
        })
    }
    sender.isSelected = !sender.isSelected
}

The above code will work as follows:

  1. when selecting button , imageView's x coordinate of origin is moved to extreme right of the screen ( UIScreen.main.bounds.width )

  2. when de-selecting button , imageView's x coordinate of origin is moved to extreme left of the screen ( 0.0 )

Use this code to move left-

func moveToLeft()
{
    var frame = imageView.frame
    frame.origin.x = -imageView.frame.size.width //Adjust this value according to your need
    UIView.animate(withDuration: 0.3, delay: 0.0, options: .curveEaseOut, animations: {() -> Void in
        self.imageView.frame = frame
    }, completion: {(_ finished: Bool) -> Void in
        /*done*/
    })
}

Use this code to move right-

func moveToRight()
{
    var frame = imageView.frame
    frame.origin.x = 0 //Adjust this value according to your need
    UIView.animate(withDuration: 0.3, delay: 0.0, options: .curveEaseOut, animations: {() -> Void in
        self.imageView.frame = frame
    }, completion: {(_ finished: Bool) -> Void in
        /*done*/
    })
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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