import UIKit
class ViewController: UIViewController
{
@IBOutlet weak var verticalStackView: UIStackView! // 垂直StackView
@IBOutlet weak var horizontalStackView: UIStackView! // 水平StackView
override func viewDidLoad()
{
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning()
{
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
/**
添加星星
- parameter sender: Btn
*/
@IBAction func addStarOnClick(sender: UIButton) {
// 创建ImageView
let starImgVw:UIImageView = UIImageView(image: UIImage(named: "star"))
// 设置内容自动适配
starImgVw.contentMode = .ScaleAspectFit
// 加入StackView的子View
self.horizontalStackView.addArrangedSubview(starImgVw)
// 更新界面放入UIVew动画中
UIView.animateWithDuration(0.25, animations: {
self.horizontalStackView.layoutIfNeeded()
})
}
/**
移除星星
- parameter sender: Btn
*/
@IBAction func removeStar(sender: AnyObject) {
let star:UIView? = self.horizontalStackView.arrangedSubviews.last
if let aStar = star
{
self.horizontalStackView.removeArrangedSubview(aStar)
aStar.removeFromSuperview()
UIView.animateWithDuration(0.25, animations: {
self.horizontalStackView.layoutIfNeeded()
})
}
}
}```

- xib上对已经存在的View嵌套UIStackView
网友评论