iPhone 8 plus,SE UIImageview - проблема ширины
Я пытаюсь нарисовать многоугольник на изображении, и у меня проблема с шириной изображения на 8 плюс iPhone и SE тоже
в каталоге Assets у меня есть 3 разных изображения 1x,2x,3x
вот моя раскадровка с константами
и наконец мой быстрый файл:
class ViewController: UIViewController {
@IBOutlet weak var myImageView: UIImageView!
@IBOutlet weak var myView: UIView!
let polygonFill = UIColor(rgb: 0xD4C6C6)
// let polygonFill = UIColor(rgb: 0x24B6E6)
override func viewDidLoad() {
super.viewDidLoad()
myImageView.layer.masksToBounds = true
myImageView.contentMode = UIViewContentMode.scaleAspectFill
let imageWidth = myImageView.frame.width
let imageHeight = myImageView.frame.height
let shape = CAShapeLayer()
myImageView.layer.addSublayer(shape)
shape.opacity = 1
shape.lineWidth = 0
shape.lineJoin = kCALineJoinMiter
shape.strokeColor = UIColor(hue: 0.786, saturation: 0.79, brightness: 0.53, alpha: 1.0).cgColor
shape.fillColor = polygonFill.cgColor
let path = UIBezierPath()
path.move(to: CGPoint(x: imageWidth+1, y: 0))
path.addLine(to: CGPoint(x: imageWidth+1, y: imageHeight))
path.addLine(to: CGPoint(x: imageWidth-40, y: imageHeight))
path.addLine(to: CGPoint(x: imageWidth+1 , y: 0))
path.close()
shape.path = path.cgPath
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
extension UIColor {
convenience init(red: Int, green: Int, blue: Int) {
assert(red >= 0 && red <= 255, "Invalid red component")
assert(green >= 0 && green <= 255, "Invalid green component")
assert(blue >= 0 && blue <= 255, "Invalid blue component")
self.init(red: CGFloat(red) / 255.0, green: CGFloat(green) / 255.0, blue: CGFloat(blue) / 255.0, alpha: 1.0)
}
convenience init(rgb: Int) {
self.init(
red: (rgb >> 16) & 0xFF,
green: (rgb >> 8) & 0xFF,
blue: rgb & 0xFF
)
}
}
что не так с моим кодом?