UiButton和translatesAutoresizingMaskIntoConstraints

时间:2015-10-20 20:36:05

标签: ios swift uibutton autolayout

我的问题很简单。

我目前正在对UIButton进行子类化以创建一些自定义动画。但是,当我将translatesAutoresizingMaskIntoConstraints设置为false时,我的视图移动到左上角。但是,当我将其设置为false或将类更改为UIViewUIControl时,此问题不再出现。

这是我的代码:

class ViewController: UIViewController {

override func viewDidLoad() {
    super.viewDidLoad()
    let button = TestA(frame: CGRectMake(100, 100, 100, 100))
    button.backgroundColor = UIColor.blackColor()
    self.view.addSubview(button)

    // 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.
}
}


class TestA : UIControl {


required init?(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)
}

override init(frame: CGRect) {
    super.init(frame: frame)
}


}

有谁知道发生了什么?

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:0)

您的位置为(1..9).each do |n| if @order["card_type#{n}"] != "none" # ... end end ,位置为@order.send("card_type#{n}") 。对于位置A,您已添加约束并将其固定在其位置上。如果您只输入例如A,它将不会从当前位置移动,因为它已修复,在这种情况下,如果我们想要实现移动,我们需要使用B,我们应该将其设置为true,之后我们有可能改变button.frame = CGRectMake(0.0.100.100)的位置。希望它有所帮助。