Swift 사용 시 iOS 7과 iOS 8의 UIView 애니메이션 동작이 다름
개시하다 
Objective-C에서view의 width를 바꾸고 싶을 때self.view.frame = CGRectMake(0, 0, 100, 100);처럼 프레임을 같이 썼지만 Swift를 사용한 후view.frame.size.width = 100를 쓰는 경우가 많아졌다.
하지만 그 기술법을 사용할 때 잘 어울리는 부분이 있어서 쓰려고 했어요.
iOS 7과 iOS 8의 차이점 
아래 코드는 화면 중앙의 100×100 크기의 빨간색 UIView에서 버튼을 눌러 화면 너비의 정사각형으로 확대한 후 원래 크기의 애니메이션을 복원한다.class ViewController: UIViewController {
    let sampleView = UIView()
    var defaultFrame = CGRectZero
    override func viewDidLoad() {
        super.viewDidLoad()
        sampleView.backgroundColor = .redColor()
        sampleView.frame.size = CGSize(width: 100, height: 100)
    }
    override func viewDidAppear(animated: Bool) {
        super.viewDidAppear(animated)
        sampleView.center = view.center
        defaultFrame = sampleView.frame
        view.addSubview(sampleView)
    }
    @IBAction func insertFrameButton(sender: AnyObject) {
        let width = UIScreen.mainScreen().bounds.size.width
        var newFrame = CGRect(x: 0, y: 0, width: width, height: width)
        newFrame.origin.y = view.center.y - width / 2
        UIView.animateWithDuration(0.5, animations: {
            self.sampleView.frame = newFrame
        }) { finished in
            UIView.animateWithDuration(0.5, animations: {
                self.sampleView.frame = self.defaultFrame
            }, completion: nil)
        }
    }
    @IBAction func insertEachButton(sender: AnyObject) {
        let width = UIScreen.mainScreen().bounds.size.width
        UIView.animateWithDuration(0.5, animations: {
            self.sampleView.frame.size.width = width
            self.sampleView.frame.size.height = width
            self.sampleView.center = self.view.center
        }) { finished in
            UIView.animateWithDuration(0.5, animations: {
                self.sampleView.frame = self.defaultFrame
            }, completion: nil)
        }
    }
}
@IBAction func insertFrameButton(sender: AnyObject) 사용자는 기존의 방식에 따라 CGRRect를 프레임에 대입하여 UIView 애니메이션을 만들었다.@IBAction func insertEachButton(sender: AnyObject)에서 width,height,center는 각각 목적치를 대입하여 UIView를 애니메이션화했다.
그럼 각자의 행동이 다른지 살펴봅시다.
iOS 8의 동작
 
※ 아래 그림은 유튜브에 연결됩니다.
 
 
어떤 방법을 써도 똑같은 애니메이션을 한다.
근데 iOS 7은 어때요?
iOS 7에서의 동작
 
※ 아래 그림은 유튜브에 연결됩니다.
 
 @IBAction func insertEachButton(sender: AnyObject)의 상황에서 상상한 애니메이션과 다른 동작을 했다.
최후 
UIView의 animation의 파행기 안에서는 CGRRect를 프레임에 대입하는 운영체제 간 동작이 다르지 않기 때문에 그것을 사용하는 것이 좋다.
                
                    
        
    
    
    
    
    
                
                
                
                
                    
                        
                            
                            
                            Reference
                            
                            이 문제에 관하여(Swift 사용 시 iOS 7과 iOS 8의 UIView 애니메이션 동작이 다름), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
                                
                                https://qiita.com/marty-suzuki/items/fe07553c5cc7e52789d1
                            
                            
                            
                                텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
                            
                            
                                
                                
                                 우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                            
                            
                        
                    
                
                
                
            
아래 코드는 화면 중앙의 100×100 크기의 빨간색 UIView에서 버튼을 눌러 화면 너비의 정사각형으로 확대한 후 원래 크기의 애니메이션을 복원한다.
class ViewController: UIViewController {
    let sampleView = UIView()
    var defaultFrame = CGRectZero
    override func viewDidLoad() {
        super.viewDidLoad()
        sampleView.backgroundColor = .redColor()
        sampleView.frame.size = CGSize(width: 100, height: 100)
    }
    override func viewDidAppear(animated: Bool) {
        super.viewDidAppear(animated)
        sampleView.center = view.center
        defaultFrame = sampleView.frame
        view.addSubview(sampleView)
    }
    @IBAction func insertFrameButton(sender: AnyObject) {
        let width = UIScreen.mainScreen().bounds.size.width
        var newFrame = CGRect(x: 0, y: 0, width: width, height: width)
        newFrame.origin.y = view.center.y - width / 2
        UIView.animateWithDuration(0.5, animations: {
            self.sampleView.frame = newFrame
        }) { finished in
            UIView.animateWithDuration(0.5, animations: {
                self.sampleView.frame = self.defaultFrame
            }, completion: nil)
        }
    }
    @IBAction func insertEachButton(sender: AnyObject) {
        let width = UIScreen.mainScreen().bounds.size.width
        UIView.animateWithDuration(0.5, animations: {
            self.sampleView.frame.size.width = width
            self.sampleView.frame.size.height = width
            self.sampleView.center = self.view.center
        }) { finished in
            UIView.animateWithDuration(0.5, animations: {
                self.sampleView.frame = self.defaultFrame
            }, completion: nil)
        }
    }
}
@IBAction func insertFrameButton(sender: AnyObject) 사용자는 기존의 방식에 따라 CGRRect를 프레임에 대입하여 UIView 애니메이션을 만들었다.@IBAction func insertEachButton(sender: AnyObject)에서 width,height,center는 각각 목적치를 대입하여 UIView를 애니메이션화했다.그럼 각자의 행동이 다른지 살펴봅시다.
iOS 8의 동작
※ 아래 그림은 유튜브에 연결됩니다.
 
 어떤 방법을 써도 똑같은 애니메이션을 한다.
근데 iOS 7은 어때요?
iOS 7에서의 동작
※ 아래 그림은 유튜브에 연결됩니다.
 
 @IBAction func insertEachButton(sender: AnyObject)의 상황에서 상상한 애니메이션과 다른 동작을 했다.최후 
UIView의 animation의 파행기 안에서는 CGRRect를 프레임에 대입하는 운영체제 간 동작이 다르지 않기 때문에 그것을 사용하는 것이 좋다.
                
                    
        
    
    
    
    
    
                
                
                
                
                    
                        
                            
                            
                            Reference
                            
                            이 문제에 관하여(Swift 사용 시 iOS 7과 iOS 8의 UIView 애니메이션 동작이 다름), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
                                
                                https://qiita.com/marty-suzuki/items/fe07553c5cc7e52789d1
                            
                            
                            
                                텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
                            
                            
                                
                                
                                 우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                            
                            
                        
                    
                
                
                
            
Reference
이 문제에 관하여(Swift 사용 시 iOS 7과 iOS 8의 UIView 애니메이션 동작이 다름), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/marty-suzuki/items/fe07553c5cc7e52789d1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)