问题描述
我只用Xcode创建了一个空白项目,并添加了一个按钮。我将其居中并将其高度和宽度设置为60。这是我的代码:
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var button: UIButton!
var lineView = UIView(frame: CGRect(x: 0,y: 60,width: 5,height: 1))
override func viewDidLoad() {
super.viewDidLoad()
lineView.backgroundColor = UIColor.black
button.addSubview(lineView)
}
@IBAction func sampleButton(_ sender: Any) {
UIView.animate(withDuration: 4.0,animations: {
self.lineView = UIView(frame: CGRect(x: 0,width: self.button.frame.width,height: 1))
self.button.addSubview(self.lineView)
},completion: nil)
}
}
单击按钮时,我希望宽度从5像素变为按钮的宽度60。我也想对此进行动画处理,但是遇到了麻烦。到目前为止,当我单击按钮时,什么都没有发生。有人可以帮我吗?
解决方法
不创建新视图。只需更改您已有的框架:
UIView.animate(withDuration: 4.0,animations: {
self.lineView.frame = CGRect(x: 0,y: 60,width: self.button.frame.width,height: 1)
},completion: nil)