Add this line of code to the viewDidLoad method: NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(rotate), name: UIDeviceOrientationDidChangeNotification, object: nil)
and this is the function:
func rotate(){
if UIDevice.currentDevice().orientation == UIDeviceOrientation.LandscapeLeft {
self.takephoto.transform = CGAffineTransformMakeRotation(CGFloat(M_PI_2))
self.recordButton.transform = CGAffineTransformMakeRotation(CGFloat(M_PI_2))
} else if UIDevice.currentDevice().orientation == UIDeviceOrientation.LandscapeRight {
self.takephoto.transform = CGAffineTransformMakeRotation(CGFloat(-M_PI_2))
self.recordButton.transform = CGAffineTransformMakeRotation(CGFloat(-M_PI_2))
} else if UIDevice.currentDevice().orientation == UIDeviceOrientation.Portrait {
self.takephoto.transform = CGAffineTransformMakeRotation(CGFloat(0))
self.recordButton.transform = CGAffineTransformMakeRotation(CGFloat(0))
} else if UIDevice.currentDevice().orientation == UIDeviceOrientation.PortraitUpsideDown {
self.takephoto.transform = CGAffineTransformMakeRotation(CGFloat(M_PI))
self.recordButton.transform = CGAffineTransformMakeRotation(CGFloat(M_PI))
}
}