我想使用滑块使Pic ImageView变小。目前其最大尺寸。滑块应该能够使其更小。当我使用滑块时,图片确实会减少,但无法增加,只能减少。这是我要做什么的图片。
我的代码在所有代码中均未使用情节提要。
import UIKit
class ViewController: UIViewController {
var sd = UISlider()
var pic = UIImageView()
var start = [NSLayoutConstraint]()
var change = [NSLayoutConstraint]()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
[sd,pic].forEach{
$0.translatesAutoresizingMaskintoConstraints = false
view.addSubview($0)
$0.backgroundColor = .systemOrange
}
pic.topAnchor.constraint(equalTo: view.topAnchor,constant: 12).isactive = true
pic.leadingAnchor.constraint(equalTo: view.leadingAnchor,constant: 10).isactive = true
pic.trailingAnchor.constraint(equalTo: view.trailingAnchor,constant: -10).isactive = true
start = [
pic.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor),pic.heightAnchor.constraint(equalTo: view.layoutMarginsGuide.heightAnchor,multiplier: 1/2),sd.trailingAnchor.constraint(equalTo: view.centerXAnchor,constant :150),sd.topAnchor.constraint(equalTo: view.centerYAnchor,constant : +250),sd.widthAnchor.constraint(equalToConstant: 150),sd.heightAnchor.constraint(equalToConstant: 40)
]
NSLayoutConstraint.activate(start)
sd.addTarget(self,action: #selector(moveRight),for: .allTouchEvents)
}
@objc func moveRight(_ sender: UISlider) {
NSLayoutConstraint.deactivate(start)
let jessicaAlba = 300 + ( 300 * CGFloat(sd.value) )
print(CGFloat(sd.value))
pic.topAnchor.constraint(equalTo: view.topAnchor,constant: -jessicaAlba).isactive = true
pic.leadingAnchor.constraint(equalTo: view.leadingAnchor,constant: jessicaAlba).isactive = true
pic.trailingAnchor.constraint(equalTo: view.trailingAnchor,constant: -jessicaAlba).isactive = true
start = [
pic.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor),sd.widthAnchor.constraint(equalToConstant: 100),sd.heightAnchor.constraint(equalToConstant: 40)
]
NSLayoutConstraint.activate (start)
}
}