如何在 swift 中使用过渡来滑动和隐藏按钮
How to slide and hide button using transition in swift
我是 swift 的新手 我在 swift 中有两个按钮,但问题是我想将它们向下滑动并在我单击关闭按钮时使用过渡隐藏它们
谁能帮我解决这个问题,我在此处附上了按钮的代码。
谢谢和问候......
func showdirection(){
startbtn.frame=CGRect(x:10, y:500, width:(screenSize.width/2)-15, height:350)
startbtn.backgroundColor = UIColor(red:0.29, green:0.23, blue:0.54, alpha:1.0)
startbtn.setTitle("Start".uppercased(), for: UIControl.State.normal)
startbtn.addTarget(self, action:#selector(self.startdirection), for: .touchUpInside)
startbtn.layer.cornerRadius = 20
self.view.addSubview(startbtn)
dismissbtn.frame=CGRect(x:(screenSize.width/2)+10, y:500, width:(screenSize.width/2)-20, height:35)
// dismissbtn.frame=CGRect(x:150, y:500, width:(screenSize.width/2)-15, height:50)
dismissbtn.backgroundColor = UIColor(red:1, green:0, blue:0, alpha:1.0)
dismissbtn.setTitle("Dismiss".uppercased(), for: UIControl.State.normal)
startbtn.addTarget(self, action:#selector(self.dismissdirection), for: .touchUpInside)
dismissbtn.layer.cornerRadius = 20
self.view.addSubview(dismissbtn)
}
在这里,我想在使用过渡单击 dissmissbtn 时隐藏两个按钮。
您可以使用 UIView.animate
来实现。
// Set the target
dismissbtn.addTarget(self, action: #selector(dismissToSlideButtonsDown), for: .touchUpInside)
@objc func dismissToSlideButtonsDown() {
UIView.animate(withDuration: 0.2, animations: {
self.startbtn.alpha = 0 // This will make it fade away
self.startbtn.frame.origin.y = UIScreen.main.bounds.height // This will move it out of the screen by pushing it down
self.dismissbtn.alpha = 0
self.dismissbtn.frame.origin.y = UIScreen.main.bounds.height
})
}
通过更改按钮的 alpha 值,您可以降低它们的可见度。还可以通过更改框架的原点来移动它们。如果你改变 y
属性 那么它会垂直移动,对于水平移动你可以改变 x
。也可以结合使用。
我是 swift 的新手 我在 swift 中有两个按钮,但问题是我想将它们向下滑动并在我单击关闭按钮时使用过渡隐藏它们 谁能帮我解决这个问题,我在此处附上了按钮的代码。 谢谢和问候......
func showdirection(){
startbtn.frame=CGRect(x:10, y:500, width:(screenSize.width/2)-15, height:350)
startbtn.backgroundColor = UIColor(red:0.29, green:0.23, blue:0.54, alpha:1.0)
startbtn.setTitle("Start".uppercased(), for: UIControl.State.normal)
startbtn.addTarget(self, action:#selector(self.startdirection), for: .touchUpInside)
startbtn.layer.cornerRadius = 20
self.view.addSubview(startbtn)
dismissbtn.frame=CGRect(x:(screenSize.width/2)+10, y:500, width:(screenSize.width/2)-20, height:35)
// dismissbtn.frame=CGRect(x:150, y:500, width:(screenSize.width/2)-15, height:50)
dismissbtn.backgroundColor = UIColor(red:1, green:0, blue:0, alpha:1.0)
dismissbtn.setTitle("Dismiss".uppercased(), for: UIControl.State.normal)
startbtn.addTarget(self, action:#selector(self.dismissdirection), for: .touchUpInside)
dismissbtn.layer.cornerRadius = 20
self.view.addSubview(dismissbtn)
}
在这里,我想在使用过渡单击 dissmissbtn 时隐藏两个按钮。
您可以使用 UIView.animate
来实现。
// Set the target
dismissbtn.addTarget(self, action: #selector(dismissToSlideButtonsDown), for: .touchUpInside)
@objc func dismissToSlideButtonsDown() {
UIView.animate(withDuration: 0.2, animations: {
self.startbtn.alpha = 0 // This will make it fade away
self.startbtn.frame.origin.y = UIScreen.main.bounds.height // This will move it out of the screen by pushing it down
self.dismissbtn.alpha = 0
self.dismissbtn.frame.origin.y = UIScreen.main.bounds.height
})
}
通过更改按钮的 alpha 值,您可以降低它们的可见度。还可以通过更改框架的原点来移动它们。如果你改变 y
属性 那么它会垂直移动,对于水平移动你可以改变 x
。也可以结合使用。