Ios Swift 4-编辑带负数的标签frame.size.height

Ios Swift 4-编辑带负数的标签frame.size.height,ios,swift,label,size,Ios,Swift,Label,Size,因此,我在Xcode的故事板中制作了一个标签,我想稍后在代码中编辑它。我想让它模拟一个类似竖条的东西,所以我通过以下操作编辑它的高度: answerE.frame.size.height = -200 问题来自负数,我希望标签“长大”,因此高度必须从其原始位置为负数。。。我在按下按钮的简单动作中就有了代码中的行,但每次执行该行时,标签都会“向上”移动,最后在3-4次点击后,标签就会离开屏幕。 我只想编辑它的高度,正确的方法是什么,我做错了什么 我的确切代码是: label.frame.size

因此,我在Xcode的故事板中制作了一个标签,我想稍后在代码中编辑它。我想让它模拟一个类似竖条的东西,所以我通过以下操作编辑它的高度:

answerE.frame.size.height = -200
问题来自负数,我希望标签“长大”,因此高度必须从其原始位置为负数。。。我在按下按钮的简单动作中就有了代码中的行,但每次执行该行时,标签都会“向上”移动,最后在3-4次点击后,标签就会离开屏幕。 我只想编辑它的高度,正确的方法是什么,我做错了什么

我的确切代码是:

label.frame.size.height = -CGFloat(Double(x)/Double(y) * (200))

如果我是对的,您希望标签增加高度,保持底部边缘不变,但顶部边缘向上移动

为此,您需要在更改frame.size.height的同时更改frame.origin.y,因为其位置(以及顶部边缘)由其原点决定。所以,也许可以将其设置为零高度,将其放置在故事板中您想要的位置,然后当您想要它“增长”x时:

label.frame.size.height = label.frame.height + x
label.frame.origin.y = label.frame.origin.y - x

如果您已经在故事板中添加了标签,为什么不使用约束来获得结果呢


添加前导、尾随、底部和固定高度约束,并将
IBOutlet
连接到高度约束。在要执行的事件中更改高度约束的常量值。

为什么必须从负值开始?它不是零吗?事实上,你是对的,这也是一个可能的解决方案,很抱歉,我只能选择一个接受的答案,你的解决方案也非常好。这是一个按预期工作的解决方案。另一个(使用原点和高度)给出了生成问题——在我第一次执行它时它没有应用。