Попробуйте этот код: Испытано в Swift 3
Примечание: Вы не отправлял правильный код. Итак, я сделал один для вас.
Первый VC:
import UIKit
extension Double {
func toRadians() -> CGFloat {
return CGFloat(self * .pi/180.0) } }
extension UIImage {
func rotated(by degrees: Double) -> UIImage? {
guard let cgImage = self.cgImage else { return nil }
let transform = CGAffineTransform(rotationAngle: degrees.toRadians())
var rect = CGRect(origin: .zero, size: self.size).applying(transform)
rect.origin = .zero
let renderer = UIGraphicsImageRenderer(size: rect.size)
return renderer.image { renderContext in
renderContext.cgContext.translateBy(x: rect.midX, y: rect.midY)
renderContext.cgContext.rotate(by: degrees.toRadians())
renderContext.cgContext.scaleBy(x: 1.0, y: -1.0)
let drawRect = CGRect(origin: CGPoint(x: -self.size.width/2, y: -self.size.height/2), size: self.size)
renderContext.cgContext.draw(cgImage, in: drawRect)
}
}
}
class ViewController: UIViewController {
@IBOutlet weak var imageView: UIImageView!
override func viewDidLoad() { }
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "passImageData" {
let dvc = segue.destination as! viewtwo
let rotatedImage = imageView.image?.rotated(by: 45) // You workout the angle ypu want
dvc.newImage = rotatedImage
}
}
Второй VC:
import Foundation
import UIKit
class viewtwo: UIViewController {
@IBOutlet weak var passedimage: UIImageView!
var newImage: UIImage!
override func viewDidLoad() {
passedimage.image = newImage
}
}
Можете ли вы опубликовать код ... – Joe
One button action, CODE 1. Еще одна кнопка action CODE 2. –
Вы знакомы с фильтрами corImage? – Joe