Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/117.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 Swift:用动画加载.Xib_Ios_Swift_Animation_Xib - Fatal编程技术网

Ios Swift:用动画加载.Xib

Ios Swift:用动画加载.Xib,ios,swift,animation,xib,Ios,Swift,Animation,Xib,目前,我正在从另一个视图上按下的按钮加载CreateAAccount:UIView类的新.Xib 目前,它立即切换到Xib,这是伟大的,但有没有一种方式来动画这一点?下面是按钮中的代码 @IBAction func createAnAccount(sender: AnyObject) { let createAnAccountView = NSBundle.mainBundle().loadNibNamed("CreateAnAccount", owner: self, opti

目前,我正在从另一个视图上按下的按钮加载CreateAAccount:UIView类的新.Xib

目前,它立即切换到Xib,这是伟大的,但有没有一种方式来动画这一点?下面是按钮中的代码

    @IBAction func createAnAccount(sender: AnyObject) {
    let createAnAccountView = NSBundle.mainBundle().loadNibNamed("CreateAnAccount", owner: self, options: nil)[0] as! CreateAnAccount
    createAnAccountView.frame = CGRectMake(0, 0, UIScreen.mainScreen().applicationFrame.size.width, UIScreen.mainScreen().applicationFrame.size.height + 20)
    createAnAccountView.loginHandler = loginHandler
    self.addSubview(createAnAccountView)
    println("Create An Account Pressed")
}
你可以这样试试

UIView.transitionWithView(self.view, duration: 0.5, options:UIViewAnimationOptions.CurveEaseInOut,animations: {self.view.addSubview(createAnAccountView)}, completion: nil)  

此外,您还可以更改UIViewAnimationOptions以获得所需的效果。

Swift 4。只需将动画代码放入
layoutSubviews
func。这对我来说太完美了

override func layoutSubviews() {
    super.layoutSubviews()
    animate()
}

func animate() {
    self.transform = CGAffineTransform(scaleX: 0.3, y: 2)
    UIView.animate(withDuration: 1, delay: 0, usingSpringWithDamping: 0.3, initialSpringVelocity: 0, options: [.allowUserInteraction, .curveEaseOut], animations: {
        self.transform = .identity
    })
    self.alpha = 1
}

Swift 5@冷记忆答案

func animate() {
        self.view.transform = CGAffineTransform(scaleX: 0.3, y: 2)
        UIView.animate(withDuration: 1, delay: 0, usingSpringWithDamping: 0.3, initialSpringVelocity: 0, options: [.allowUserInteraction, .curveEaseOut], animations: {
            self.view.transform = .identity
        })
        self.view.alpha = 1
    }

这是在Objective C中,但对您来说是一个很好的开始:要为视图设置动画,iOS中有很多内容,首先需要了解nib需要哪种类型的动画。这似乎仍然不起作用,视图确实会更改,但没有动画。你确定这可以用在.Xib上吗?