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
    )
}
}

что не так с моим кодом?

0 ответов

Другие вопросы по тегам