Ios 使用“自动布局”时在Y轴上移动UI按钮

Ios 使用“自动布局”时在Y轴上移动UI按钮,ios,objective-c,uibutton,Ios,Objective C,Uibutton,我正在做一个项目,我正在为应用程序使用自动布局/通用故事板 我有一个UIButton,我想在某个事件中移动到一个新位置。但是不影响自动布局。所以在每台设备上看起来都是一样的 我成功地通过以下代码移动了按钮: int deltaY = 100; [ans1 removeConstraints:ans1.constraints]; ans1.frame = CGRectMake(ans1.frame.origin.x, ans1.frame.origin.y + deltaY, a

我正在做一个项目,我正在为应用程序使用自动布局/通用故事板

我有一个UIButton,我想在某个事件中移动到一个新位置。但是不影响自动布局。所以在每台设备上看起来都是一样的

我成功地通过以下代码移动了按钮:

int deltaY = 100;

    [ans1 removeConstraints:ans1.constraints];
    ans1.frame = CGRectMake(ans1.frame.origin.x, ans1.frame.origin.y + deltaY, ans1.frame.size.width, ans1.frame.size.height);

但是,按钮会在一秒钟左右的时间内移回其原始位置。

为什么要删除按钮中的约束?您可以创建按钮Y CONSTRAINT的IBOUTLE,然后更改Y CONSTRAINT值,而不是删除约束

选择要更改的LayoutConstraint,然后控制并将其拖动到.h文件中

@property (nonatomic, weak) IBOutlet NSLayoutConstraint *yAxisConstrain;

像这样更改约束值

yAxisConstrain.constant = 0; //What ever the value you want.
[self.view layoutIfNeeded];

为什么要删除按钮中的约束?您可以创建按钮Y CONSTRAINT的IBOUTLE,然后更改Y CONSTRAINT值,而不是删除约束

选择要更改的LayoutConstraint,然后控制并将其拖动到.h文件中

@property (nonatomic, weak) IBOutlet NSLayoutConstraint *yAxisConstrain;

像这样更改约束值

yAxisConstrain.constant = 0; //What ever the value you want.
[self.view layoutIfNeeded];

从来没想过会这样!只是一个有点愚蠢的问题。我仍然在学习iOS,因为我以前一直在学习C#。我如何将YaxisConstraint连接到我的UIButton(ans1),因为我无法通过界面生成器/故事板连接它。从来没有想过这样!只是一个有点愚蠢的问题。我仍然在学习iOS,因为我以前一直在学习C#。如何将YaxisConstraint连接到我的UIButton(ans1),因为我无法通过interface builder/storyboard连接它。