gpt4 book ai didi

ios - swift 无法单击位于多个 subview 内的 uibutton

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:01:02 25 4
gpt4 key购买 nike

当我按下 arrowButton 时我没有得到,甚至 print("toggleWhiteMenu pressed") 也没有在控制台打印?我已经搜索了其他类似的问题,但似乎没有帮助。

 let card: UIView = {
let tsl = UIView()
tsl.backgroundColor = UIColor.black
tsl.alpha = 0.9
return tsl
}()


let yellowCard: UIView = {
let tsl = UIView()
tsl.backgroundColor = UIColor.yellow
//tsl.alpha = 1
tsl.isUserInteractionEnabled = false
return tsl
}()



lazy var arrowButton: UIButton = {
let button = UIButton(type: .system)

button.setImage(#imageLiteral(resourceName: "down arrow"), for: .normal)
button.tintColor = UIColor.black
button.titleLabel?.font = UIFont.boldSystemFont(ofSize: 14)
button.addTarget(self, action: #selector(self.toggleWhiteMenu), for: .touchUpInside)
return button
}()


func toggleWhiteMenu() {
print("toggleWhiteMenu pressed")
UIView.animate(withDuration: 1, animations: {

self.whiteMenu.transform = CGAffineTransform(scaleX: 11, y: 11)
}) { (true) in
print("really sick")
}
}


let whiteMenu: UIView = {
let tsl = UIView()
tsl.backgroundColor = UIColor.white
tsl.alpha = 1
tsl.isUserInteractionEnabled = false
return tsl
}()



let containerView: UIView = {
let v = UIView()
v.translatesAutoresizingMaskIntoConstraints = false
v.backgroundColor = .yellow
v.isUserInteractionEnabled = false
return v
}()

let scrollView: UIScrollView = {
let v = UIScrollView()
v.translatesAutoresizingMaskIntoConstraints = false
v.backgroundColor = .white
return v
}()


let backgroundImageView: UIImageView = {
let imageView = UIImageView()
imageView.image = UIImage(named: "eiffel tower")
imageView.translatesAutoresizingMaskIntoConstraints = false
imageView.isUserInteractionEnabled = false
imageView.layer.masksToBounds = true
imageView.contentMode = .scaleAspectFill

return imageView
}()


func setUpViews() {
self.view.addSubview(scrollView)
scrollView.addSubview(containerView)

containerView.addSubview(backgroundImageView)
backgroundImageView.addSubview(card)
backgroundImageView.addSubview(yellowCard)

yellowCard.addSubview(whiteMenu)
yellowCard.addSubview(arrowButton)

///i have left out constraints except for the arrowbutton's constraints as i don't deem them necessary for this question

arrowButton.anchor(top: nil, left: nil, bottom: nil, right: nil, paddingTop: 0, paddingLeft: 0, paddingBottom: 0, paddingRight: 0, width: view.frame.width/6, height: view.frame.width/6)

arrowButton.clipsToBounds = true

arrowButton.centerXAnchor.constraint(equalTo: whiteMenu.centerXAnchor).isActive = true
arrowButton.centerYAnchor.constraint(equalTo: whiteMenu.centerYAnchor).isActive = true
}

最佳答案

请使用如下选择器方法添加@objc。

 @objc func toggleWhiteMenu() {
print("toggleWhiteMenu pressed")
UIView.animate(withDuration: 1, animations: {

self.whiteMenu.transform = CGAffineTransform(scaleX: 11, y: 11)
}) { (true) in
print("really sick")
}
}

关于ios - swift 无法单击位于多个 subview 内的 uibutton,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52969089/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com