【问题标题】:Autolayout Issue with Width of a UIButtonUIButton 宽度的自动布局问题
【发布时间】:2020-01-14 17:59:43
【问题描述】:
    signUpButton.translatesAutoresizingMaskIntoConstraints = false
    signUpButton.widthAnchor.constraint(equalToConstant: 128).isActive = true
    signUpButton.heightAnchor.constraint(equalToConstant: 64).isActive = true
    signUpButton.leadingAnchor.constraint(equalTo: view.leadingAnchor).isActive = true
    signUpButton.trailingAnchor.constraint(equalTo: view.trailingAnchor).isActive = true
    signUpButton.bottomAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor)
  • NSLayoutConstraint: UIButton:'Sign Up'.width == 128(活动),
  • NSLayoutConstraint:H:|-(0)-[UIButton:'Sign Up'](活动,名称:'|':UIView:),
  • NSLayoutConstraint: UIButton:'Sign Up'.trailing == UIView:.trailing (active),
  • NSLayoutConstraint: 'UIView-Encapsulated-Layout-Width' UIView:.width == 375(活动)

将尝试通过打破约束来恢复 NSLayoutConstraint: UIButton:'Sign Up'.width == 128 (active)>

我想将按钮放在具有一定宽度的前导和尾随锚点的中心,但是当我运行代码时,按钮会扩展到这些锚点。如何防止这种扩展?

【问题讨论】:

  • 不相关,但考虑将 .isActive = true 的个人用途替换为 NSLayoutContraint.activate() 的用户。

标签: ios swift uibutton


【解决方案1】:

由于您似乎希望在view 内水平居中按钮,您需要替换:

signUpButton.leadingAnchor.constraint(equalTo: view.leadingAnchor).isActive = true
signUpButton.trailingAnchor.constraint(equalTo: view.trailingAnchor).isActive = true

与:

signUpButton.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-26
    • 2015-09-01
    • 1970-01-01
    • 2015-09-10
    • 1970-01-01
    • 1970-01-01
    • 2011-06-20
    相关资源
    最近更新 更多