我想在用户按下按钮时将子视图隐藏为false。此子视图的不透明度在设计时设置为60%。从存在按钮的位置开始,子视图应该以平滑动画显示。
以下是我尝试过的代码:
@IBAction func moreOptions_Clicked(sender: AnyObject) { print("moreOptions clicked")
UIView.animateWithDuration(0.9, delay: 0.2, options: UIViewAnimationOptions.TransitionCurlDown, animations: {
//self.objMoreView.hidden = false
// Show view with animation
}, completion: nil)}
这没有用。任何解决方案?
答案 0 :(得分:1)
将.hidden = false
替换为.alpha = 1
,它应该有效;)
说明:
如果您想为UI对象的“可见性”制作动画:
将 alpha初始值设为0 (您的对象将被“隐藏”)
在动画期间,将其值设置为1 ,UIView.animateWithDuration()
将为0设置动画 - > 1在持续时间内通过所有值进行更改。你将有一个动画,逐步显示你的子视图。
如果您想为UI对象的位置或大小设置动画:
yourObject.frame.size.(height or width)
或
yourObject.frame.origin.(x or y)
希望我帮助过你。
答案 1 :(得分:0)
您也可以使用约束来执行此操作。 例如,在视图中为按钮设置顶部约束。 保留对该约束的引用:
echo '<h1>'.$list.'</h1>';
然后,只要您想要显示按钮,请将此约束的常量设置为您需要的任何值。 最后只需用一个很好的弹簧效果来制作它。这会产生这样的结果:
self.whatEverTopButtonConstraint = NSLayoutConstraint(item: self.whatEverButton, attribute: .Top, relatedBy: .Equal, toItem: self.whatEverSubView, attribute: .Top, multiplier: 1, constant: 0)
self.whatEverSubView.addConstraint(self.whatEverTopButtonConstraint)
当然,此代码仅垂直设置位置动画。如果你想让它在水平的同一时刻移动,例如从右边缘设置一个约束,然后就在动画调用之前设置它的常量;)