2016-11-18 10 views
1

Я экспериментирую с использованием раскадровки и просто написанием пользовательского интерфейса в коде. У меня есть атрибуты кнопок, я добавил к subview в viewDidLoad, а также установил ограничения. Я должен видеть кнопку в середине экрана.Настройка кнопки без использования раскадровки в xcode swift

class ViewController: UIViewController { 

    var setupButton: UIButton = { 
     let button = UIButton(type: .system) 
     button.backgroundColor = UIColor(r: 80, g: 101, b: 161, a: 256) 
     button.setTitle("Button", for: .normal) 
     button.setTitleColor(UIColor.white, for: .normal) 
     button.translatesAutoresizingMaskIntoConstraints = false 
     button.titleLabel?.font = UIFont.boldSystemFont(ofSize: 18) 
     return button 
    }() 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     // Do any additional setup after loading the view, typically from a nib. 


     view.addSubview(setupButton) 
     coolButton() 

    } 

    func coolButton() { 

     setupButton.centerXAnchor.constraint(equalTo: view.centerXAnchor) 
     setupButton.centerYAnchor.constraint(equalTo: view.centerYAnchor) 
     setupButton.widthAnchor.constraint(equalTo: view.widthAnchor, constant: -24) 
     setupButton.heightAnchor.constraint(equalToConstant: 150) 




    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 


} 

extension UIColor { 

    convenience init(r: CGFloat, g: CGFloat, b: CGFloat, a: CGFloat) { 
     self.init(red: r/255, green: g/255, blue: b/255, alpha: a/255) 
    } 

} 

ответ

1

От NSLayoutConstraint документы:

Обратите внимание, что только активные ограничения влияют на расчетную схему.

Для вновь созданных ограничений активным свойством является НЕТ по умолчанию.

Вам просто нужно установить isActive на true для ваших ограничений.

setupButton.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true 
setupButton.centerYAnchor.constraint(equalTo: view.centerYAnchor).isActive = true 
setupButton.widthAnchor.constraint(equalTo: view.widthAnchor, constant: -24).isActive = true 
setupButton.heightAnchor.constraint(equalToConstant: 150).isActive = true 

 Смежные вопросы

  • Нет связанных вопросов^_^