Ios7 使用自动布局以编程方式设置按钮位置

Ios7 使用自动布局以编程方式设置按钮位置,ios7,uibutton,xcode5,autolayout,Ios7,Uibutton,Xcode5,Autolayout,根据if语句,我希望在启用自动布局的情况下以编程方式更改按钮的位置。这是我在自动布局之前所做的,我不知道为什么当我打开自动布局时它不起作用 if ([dayString isEqualToString:@"Wednesday"]) { [Btn setFrame:CGRectMake(20,49,135,35)]; } else { [Btn setFrame:CGRectMake(49,49,135,35)]; } 谢谢你的帮助。我真的很感激 很简单。自动布局和框架设置

根据if语句,我希望在启用自动布局的情况下以编程方式更改按钮的位置。这是我在自动布局之前所做的,我不知道为什么当我打开自动布局时它不起作用

if ([dayString isEqualToString:@"Wednesday"]) {

      [Btn setFrame:CGRectMake(20,49,135,35)];
}
else {
    [Btn setFrame:CGRectMake(49,49,135,35)];
}

谢谢你的帮助。我真的很感激

很简单。自动布局和框架设置是相反的。如果您使用的是自动布局,那么设置事物框架的是自动布局,而不是您

更精确地说:您可以设置框架,但当自动布局出现并布局时,它会根据约束设置框架。因此,您的更改将被覆盖

因此,一个选项是在代码中操纵定位按钮的约束


或者,在这种情况下,您可能想做的是从故事板中取出按钮,用代码创建它,并将其放入界面中。当您这样做时,按钮不受自动布局的影响,您只需设置框架。

那么,如何使用if语句设置具有自动布局的按钮的位置呢?或者你不能这样做?你应该改变/设置约束条件。或者,你可以做一些安排来保护这个按钮不受自动布局的影响,但这更复杂。我是在故事板上做的吗?或者可以在.mt中完成。如果在故事板中,则没有代码no!如果你想改变这个东西在代码中的位置,你必须改变它的约束条件,而不是它的框架。所以,为了澄清一下,如果我想根据日期改变按钮的位置,我不能使用自动布局?