There is a UIImageView in which the aspectToFit mode is installed. How to get the size of the fit image view size?

    1 answer 1

    It is necessary to calculate it from the sizes of UIImage and UIImageView :

     @IBOutlet var ivToGetSize: UIImageView! //UIImageView с искомой ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΎΠΉ //ΠΏΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ опрСдСляСм Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ @IBAction func btnClick(sender: UIButton) { let image = ivToGetSize.image if let im = image { let displayedSize = getDisplayedSize(im.size, imageViewBoundsSize: ivToGetSize.bounds.size) let imWidth = displayedSize.width let imHeight = displayedSize.height print("\(imWidth) \(imHeight)") //Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΈ высоту ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ } } //функция для опрСдСлСния Ρ€Π°Π·ΠΌΠ΅Ρ€Π° func getDisplayedSize(imageSize: CGSize, imageViewBoundsSize: CGSize) -> CGSize { var imageDisplayedSize = CGSizeMake(imageViewBoundsSize.width, imageViewBoundsSize.height); let mW = imageViewBoundsSize.width / imageSize.width; let mH = imageViewBoundsSize.height / imageSize.height; if( mH < mW ) { imageDisplayedSize.width = mH * imageSize.width; } else if( mW < mH ) { imageDisplayedSize.height = mW * imageSize.height; } return imageDisplayedSize; }