动画源iOS

动画源iOS,ios,swift,animation,Ios,Swift,Animation,我一直在尝试创建一个动画,在不改变原点的情况下增加视图的高度(左上角和右上角保持在同一位置) 但是动画会从中间增加大小(将上边缘向上推,将下边缘向下推) 我错过了什么 你可以试试这个 let newheight:CGFloat = 100.0 UIView.animateWithDuration(0.5) { self.frame = CGRectMake(self.frame.origin.x, self.frame.origin.y,

我一直在尝试创建一个动画,在不改变原点的情况下增加视图的高度(左上角和右上角保持在同一位置)

但是动画会从中间增加大小(将上边缘向上推,将下边缘向下推) 我错过了什么

你可以试试这个

        let newheight:CGFloat = 100.0
        UIView.animateWithDuration(0.5) {

            self.frame = CGRectMake(self.frame.origin.x, self.frame.origin.y, self.frame.size.width, newheight)

        }

要这样做,您需要为视图设置一个锚定点。你有没有试过用
动画持续时间
来代替?然后,您可以显式地将框架设置为您想要的任何值,并且它将精确地保持该值(无需为您估算)。
        let newheight:CGFloat = 100.0
        UIView.animateWithDuration(0.5) {

            self.frame = CGRectMake(self.frame.origin.x, self.frame.origin.y, self.frame.size.width, newheight)

        }