使用自动布局时在 Y 轴上移动 UIButton
Posted
技术标签:
【中文标题】使用自动布局时在 Y 轴上移动 UIButton【英文标题】:Moving UIButton on Y axis while using Autolayout 【发布时间】:2015-03-14 09:13:13 【问题描述】:我正在开发一个项目,我正在为应用程序使用自动布局/通用故事板。
我有一个 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);
但是按钮会在一秒钟左右内移回原来的位置。
【问题讨论】:
【参考方案1】:为什么要删除 Button 中的约束?您可以创建按钮 Y 约束的 IBOutlet 而不是删除约束,然后更改该 Y 约束值
选择要更改的 LayoutConstraint,然后控制拖动到您的 .h 文件中
@property (nonatomic, weak) IBOutlet NSLayoutConstraint *yAxisConstrain;
像这样改变你的约束值,
yAxisConstrain.constant = 0; //What ever the value you want.
[self.view layoutIfNeeded];
【讨论】:
从来没有这样想过!只是一个有点愚蠢的问题。我还在学习 ios,因为我之前一直在研究 C#。如何将 yAxisConstrain 连接到我的 UIButton (ans1),因为我无法通过界面生成器/情节提要连接它。以上是关于使用自动布局时在 Y 轴上移动 UIButton的主要内容,如果未能解决你的问题,请参考以下文章
使用自动布局在屏幕更改时调整自定义单元格中的 UIButton 字体