Je dois obtenir la position dynamique x, y de l'image. Je l'ai essayéObtenir la position de l'imageview dynamiquement
self.imgView.bounds.origin.y
et
self.imgView.frame.origin.x
Je reçois tout le temps 0.0.
Comment puis-je obtenir ceci?
Merci
Je dois obtenir la position dynamique x, y de l'image. Je l'ai essayéObtenir la position de l'imageview dynamiquement
self.imgView.bounds.origin.y
et
self.imgView.frame.origin.x
Je reçois tout le temps 0.0.
Comment puis-je obtenir ceci?
Merci
Le bounds.origin d'une vue devrait être (0 , 0) à tout moment puisque c'est le système de coordonnées de la vue elle-même (par rapport à son origine)
Le frame.origin est dans le système de coordonnées de sa superview, donc si c'est 0,0, alors cela pourrait être que son origine est à l'origine de sa superview. Peut-être que vous voulez connaître l'origine par rapport à l'écran? Si oui,
let posInWindow = v.convert(v.bounds.origin, to: nil)
Merci! J'ai eu ça :) – user12346
S'il vous plaît utiliser ci-dessous pour obtenir le code rect dans UIImageVIew
Ce code swift3 Et votre ImageViewContentMode doit être Aspect adapter
func calculateRectOfImageInImageView(imageView: UIImageView) -> CGRect {
let imageViewSize = imageView.frame.size
let imgSize = imageView.image?.size
guard let imageSize = imgSize, imgSize != nil else {
return CGRect.zero
}
let scaleWidth = imageViewSize.width/imageSize.width
let scaleHeight = imageViewSize.height/imageSize.height
let aspect = fmin(scaleWidth, scaleHeight)
var imageRect = CGRect(x: 0, y: 0, width: imageSize.width * aspect, height: imageSize.height * aspect)
// Center image
imageRect.origin.x = (imageViewSize.width - imageRect.size.width)/2
imageRect.origin.y = (imageViewSize.height - imageRect.size.height)/2
// Add imageView offset
imageRect.origin.x += imageView.frame.origin.x
imageRect.origin.y += imageView.frame.origin.y
return imageRect
}
Les limites retourneront toujours un x et y de 0, vous voulez utiliser l'image. Dans votre exemple, ces valeurs peuvent être correctes? Essayez d'ajouter votre imageView au centre de la vue et en enregistrant le:
self.imgView.frame.origin.x
self.imgView.frame.origin.y
affichez votre imageview sur le storyboard. avez-vous ajouté imageview de (0,0) dans le storyboard? –
Que voulez-vous dire par "dynamique"? – kirander
Je pense que vous avez besoin de position UIImage? –