首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有可能给UIEdgeInsets动画吗?

有可能给UIEdgeInsets动画吗?
EN

Stack Overflow用户
提问于 2015-05-09 06:50:41
回答 1查看 1.7K关注 0票数 6

我一直在试图激活UIEdgeInsets的一个变化。我已经尝试过使用UIView.animateWithDuration,而insets只是跳转到最后的值。有没有人知道这是否是一个不能动画片的财产?或者更好的是,有没有人知道一种让嵌入式动画化的方法?

例如:

代码语言:javascript
复制
// Starting inset values
self.searchField.placeHolderInset = UIEdgeInsets(top: 0, left: 110, bottom: 0, right: 10)

// Animation block
UIView.animateWithDuration(0.1, animations: {
        self.searchField.placeHolderInset = UIEdgeInsets(top: 0, left: 18, bottom: 0, right: 10)
})

文本不是在0.1秒内向左移动92个像素,而是跳转到最后一个值。searchFieldUITextField.placeHolderInset是用来确定UITextField占位符文本内嵌的UIEdgeInset。

编辑:实现预期效果的另一种方法是将UITextField.textAlignment.Center更改为.Left,但这也不会产生动画效果。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-09 08:06:30

您需要在动画块内部的视图上调用layoutIfNeeded()

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

https://stackoverflow.com/questions/30136973

复制
相关文章

相似问题

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