UIButton «нажата» функция не вызывается при добавлении в качестве подзадачи UIView. Код, как показано ниже. Однако его работа при удалении setTranslatesAutoresizingMaskIntoConstraints (false). Мне нужно использовать этот метод для автоматического изменения размера макета.Действие UIButton, которое не вызывается при добавлении в UIView с помощью setTranslatesAutoresizingMaskIntoConstraints (false)
var myView = UIView()
let orderBook = UIButton()
override func viewDidLoad() {
super.viewDidLoad()
myView.backgroundColor = UIColor.redColor()
myView.setTranslatesAutoresizingMaskIntoConstraints(false)
self.view.addSubview(myView)
let views1 = ["myView" : myView]
var constV = NSLayoutConstraint.constraintsWithVisualFormat("V:|-[myView(>=100)]-|", options: NSLayoutFormatOptions.DirectionLeadingToTrailing, metrics: nil, views: views1)
var constH = NSLayoutConstraint.constraintsWithVisualFormat("H:[myView(==100)]|", options: NSLayoutFormatOptions.DirectionLeadingToTrailing, metrics: nil, views: views1)
self.view.addConstraints(constH)
self.view.addConstraints(constV)
orderBook.setTitle("Order Book", forState: UIControlState.Normal)
orderBook.setTitleColor(UIColor.blueColor(), forState: UIControlState.Normal)
orderBook.addTarget(self, action: "pressed:", forControlEvents: UIControlEvents.TouchUpInside)
myView.addSubview(orderBook)
}
func pressed(sender: UIButton!) {
println("pressed")
}
override func viewDidLayoutSubviews()
{
orderBook.frame = CGRectMake(0, 0, myView.frame.width, 100)
}
Попробуйте установить userintraction включить "YES" для подвидов –
я поставил myView.userInteractionEnabled = верно. Однако он все еще не работает. – kaneyip
Вы должны установить 'frame' для кнопки' orderBook' или добавить соответствующие ограничения. – rintaro