是否可以为 UIEdgeInsets 设置动画?
Is it possible to animate UIEdgeInsets?
我一直在尝试为 UIEdgeInsets
中的变化添加动画效果。我已经尝试使用 UIView.animateWithDuration
并且插图只是跳转到最终值。有谁知道这是不是无法制作动画的 属性?或者更好的是,有没有人知道制作插图动画的方法?
举个例子:
// 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 个像素,而是跳转到最终值。 searchField
是 UITextField
,.placeHolderInset
是用于确定 UITextField
占位符文本的插图的 UIEdgeInset。
编辑: 另一种达到预期效果的方法是将 UITextField
的 .textAlignment
从 .Center
更改为 .Left
但那也不会动画。
您需要在动画块内部的视图上调用 layoutIfNeeded()
。
我一直在尝试为 UIEdgeInsets
中的变化添加动画效果。我已经尝试使用 UIView.animateWithDuration
并且插图只是跳转到最终值。有谁知道这是不是无法制作动画的 属性?或者更好的是,有没有人知道制作插图动画的方法?
举个例子:
// 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 个像素,而是跳转到最终值。 searchField
是 UITextField
,.placeHolderInset
是用于确定 UITextField
占位符文本的插图的 UIEdgeInset。
编辑: 另一种达到预期效果的方法是将 UITextField
的 .textAlignment
从 .Center
更改为 .Left
但那也不会动画。
您需要在动画块内部的视图上调用 layoutIfNeeded()
。