ios - 快照套件。替换 Storyboard约束

标签 ios swift uistoryboard snapkit

如果我在代码中创建 UIButton 实例并使用 Snapkit 框架应用约束 - 它按预期工作。但是当我尝试将相同的代码应用于@IBOutlet 按钮(在 Storyboard 中定义)时,没有任何反应 - 我看到按钮的位置/大小与 Storyboard 中的相同...

示例代码:

    let button = UIButton()
    self.view.addSubview(button)

@IBOutlet weak var button: UIButton!

和约束是

    button.snp_makeConstraints { make in
        make.width.equalTo(150)
        make.height.equalTo(50)
        make.centerX.equalTo(self.view.snp_centerX)
        make.centerY.equalTo(self.view.snp_centerY).offset(-40)
    }

我尝试在 snp_makeConstraints() 方法之前调用 button.snp_removeConstraints() 但没有成功。

最佳答案

SnapKit 仅删除自己的约束。对于 Storyboard约束,您需要从 super View 中删除 View 或使用此代码段清除所有默认约束

view.removeConstraints(view.constraints)

关于ios - 快照套件。替换 Storyboard约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38286370/

相关文章:

ios - 试图关闭 Storyboard呈现的弹出窗口

ios - 无法通过 UI 导航 Controller 传递数据 - iOS

iphone - NSURLConnection 委托(delegate)方法

ios - 如何使用 throw '() throws -> Bool' 转义值不能转换为 'Bool'

ios - 将图像从 ViewController 传递到 ViewController

ios - 必须为标识符注册一个 nib 或一个类,或者在 Storyboard中连接一个原型(prototype)单元

ios - 获取 MKCircle 上所有点的坐标

ios - 如何跟踪打开的某些屏幕?

ios - 在 ios swift 2 中将数据从 View Controller 传递到 TableView Controller

iOS Storyboards 我应该使用它们吗?