首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Swift animateWithDuration()

Swift animateWithDuration()
EN

Stack Overflow用户
提问于 2015-01-12 14:37:39
回答 1查看 1.5K关注 0票数 0

我想在动画中更改imageView的y,并更改标签的文本。但当我这么做的时候。ImageView上升到100,然后做动画从-100到0。但我希望它能下降100。

如果我不改变标签的文字,动画效果很好。

代码语言:javascript
复制
    label.text = "test"

    UIView.animateWithDuration(0.5, animations: {

        self.imageView.frame.origin.y += 100

    })

而且,如果我这样做,它只会更改文本,不会移动imageView。

代码语言:javascript
复制
    label.text = "test"
    imageView.frame.origin.y += 100
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-12 14:43:40

您正在使用AutoLayout。在使用自动布局时,不能直接更改frame

您必须设置约束,然后激活约束中的更改,才能激活视图。

另外,您不能做blah.frame.origin.y += 100 IIRC -- CGrect的起源是只读的。

你可以做..。

代码语言:javascript
复制
Blah.frame = CGRectOffset(blah.frame, 0, 100)

但同样,这将不适用于汽车布局。

编辑

原点是可以迅速确定的。谢谢你:-)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27904435

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档