Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/95.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 设置UIView约束的动画(作为主视图的子视图)_Ios_Swift_Animation_Autolayout - Fatal编程技术网

Ios 设置UIView约束的动画(作为主视图的子视图)

Ios 设置UIView约束的动画(作为主视图的子视图),ios,swift,animation,autolayout,Ios,Swift,Animation,Autolayout,我设置了我拖到情节提要上的视图的约束,以便视图覆盖整个屏幕。(我从顶部、左侧、底部和右侧将其固定为0)。当视图出现时,我希望视图缩小。常数的动画范围应为0到20 在应用程序中,它会更改常量,但不会设置其动画。此外,在收缩视图后面,所有内容都是黑色的,尽管它应该是白色的(因为在该视图后面是白色的主视图) 我了解到,为了将新约束“应用”到实际布局,必须运行layoutifneed()。但上述约束条件在没有该功能的情况下也会起作用。为什么?试试这个 override func viewDidAppea

我设置了我拖到情节提要上的视图的约束,以便视图覆盖整个屏幕。(我从顶部、左侧、底部和右侧将其固定为0)。当视图出现时,我希望视图缩小。常数的动画范围应为0到20

在应用程序中,它会更改常量,但不会设置其动画。此外,在收缩视图后面,所有内容都是黑色的,尽管它应该是白色的(因为在该视图后面是白色的主视图)

我了解到,为了将新约束“应用”到实际布局,必须运行layoutifneed()。但上述约束条件在没有该功能的情况下也会起作用。为什么?试试这个

override func viewDidAppear(animated: Bool) {

    self.leftPin.constant = 20.0
    self.topPin.constant = 20.0
    self.rightPin.constant = 20.0
    self.bottomPin.constant = 20.0

    UIView.animateWithDuration(2.5, animations: {

    self.view.layoutIfNeeded()
    })
}
@试试这个

override func viewDidAppear(animated: Bool) {

    self.leftPin.constant = 20.0
    self.topPin.constant = 20.0
    self.rightPin.constant = 20.0
    self.bottomPin.constant = 20.0

    UIView.animateWithDuration(2.5, animations: {

    self.view.layoutIfNeeded()
    })
}