Ios 自动布局防止按钮移动

Ios 自动布局防止按钮移动,ios,swift,autolayout,Ios,Swift,Autolayout,我发布了一个问题,想知道为什么尽管我添加了 self.non_image1_outlet.center = CGPoint(x: 211, y: 10) self.med_image2_outlet.center = CGPoint(x: 244, y: 10) self.image3_outlet.center = CGPoint(x: 277, y: 10) 我现在已经从使用图像切换到按钮。我的问题是,无论我在上面的代码中添加了什么CGPoints,按钮都会返回到界

我发布了一个问题,想知道为什么尽管我添加了

    self.non_image1_outlet.center = CGPoint(x: 211, y: 10)
    self.med_image2_outlet.center = CGPoint(x: 244, y: 10)
    self.image3_outlet.center = CGPoint(x: 277, y: 10)
我现在已经从使用图像切换到按钮。我的问题是,无论我在上面的代码中添加了什么CGPoints,按钮都会返回到界面生成器中的相同位置。我没有得到我想要的职位。我希望当按下其中一个按钮时,其他按钮可以移动到其他地方,但是自动布局阻止了这一点。按钮快速移动到所述位置,但“快速”返回到界面生成器中放置的原始位置

由于缺少代码,我被否决了,但我发现这不是代码问题,而是自动布局问题。从文件检查器禁用它,按钮移动到我希望它去的地方。然而,禁用自动布局会把我的整个主界面弄得一团糟。是否有在特定元素而不是整个项目上禁用自动布局的方法?按钮没有到达指定的CGPoint位置的原因是,尽管我没有对其施加任何约束,但自动布局将其锁定到位


编辑:或者在自动布局处于活动状态时,只需将UIButton移动到我想要的位置。

您对
中心
所做的任何更改都将在下次自动布局引擎执行过程时重置

要移动按钮,您需要:

  • 通过更新按钮布局约束的
    常量
    值来移动按钮
  • 删除布局约束并手动设置按钮的位置

我通过重新添加适当的约束修复了该问题。现在一切似乎都很好


如果您遇到与我相同的问题,我建议您清除所有当前约束,并通过以下方式之一慢慢添加适当的约束。顶部、左侧、右侧和底部边距,以及与任何其他图元的间距

就是这样,按钮在第一个位置上没有约束,但是由于自动布局,它仍然锁定在适当的位置。谢谢你的意见,我很感激。我已经找了一段时间了。这只是一个从一个地方移动到另一个地方的简单按钮。没有任何约束。只是把它放在一个自定义的单元格里就够了。@RandomDude,这是有限制的。如果您没有为使用自动布局的NIB中的视图设置约束,Xcode将在构建时添加它们。它会在该视图的尺寸检查器上告诉您这一点。因此,您确实希望自己设置约束,因为从长远来看,自动生成的约束可能不会满足您的需要。当你使用自动布局,你真的需要进入它。你不能放任自流,抱着最好的希望。谢谢你的意见。我很感激!我有点“顺其自然”,因为我当时并不担心由于添加内容和功能而带来的限制。这不会阻止你移动任何东西。你什么都不动。如果你把某物栓住,不管你推多用力,它都不会动。