2017-07-21 2 views
-1

下の画像では、Webサービスから画像を取得してテーブルビューに渡していますが、上下にスクロールすると画像のサイズが大きくなり、ラベルに重なり、制約を与えてくれました。これを避けるには?ウェブサービスからのイメージサイズを減らすには?

enter image description here

+0

は、画像のサイズを変更する方法負荷 –

+0

前に画像のサイズを変更するのですか? @ Anbu.Karthik –

+0

https://stackoverflow.com/questions/17018617/how-to-resize-an-image-in-iosこれをチェックして画像のサイズを変更します。 –

答えて

0

私はテーブルビューのセルにビューを配置してから、ビューと要素のすべての要素と制約を配置していましたが、スクロール時に問題が軽減され完全に機能しています。ここ

は、この画面のレイアウト

enter image description here enter image description here

4

ねえ、あなたは画像のサイズを変更する必要はありません。 aspectFitにテーブルビューセル内の制約を使用して画像表示

  • 第二の設定ImageViewのの

    1. 最初のSET修正高さ幅。

      imageView.contentMode = UIViewContentModeScaleAspectFit; 
      
    2. 制約は、あなたのイメージビューのこのよう追加

    Image View Constraints

    は、あなたがこのに関するすべてのクエリは、ちょうどコメントましょう場合は、その使用して成功を得ることを願っています

  • +0

    それ自体の前に高さの制約が与えられていましたが、イメージビューのアスペクトフィットを与えても、問題は引き続き画像が表示されます。https://i.stack.imgur.com/30ioV.png –

    +0

    @VamsiKrishna ..固定幅それはまだあなたの画像ビューの幅の部分で自動サイズ変更があるためです。したがって、幅を修正してください –

    +0

    私はすでに以前に与えていました –

    0

    コンテンツモードを使用して画像を表示することはオプションですが、画像を切り抜いたりサイズを変更したり、画像を圧縮したりするには、以下のコードをチェックしてください。

    let imageData = image.compressImage(rate: 0.5)のように電話し、必要に応じて画像を書き込むことができます。

    func compressImage(rate: CGFloat) -> Data? { 
         return UIImageJPEGRepresentation(self, rate) 
        } 
    

    ORあなたはその後、画像をトリミングしたい場合は、

    func croppedImage(_ bound: CGRect) -> UIImage? { 
         guard self.size.width > bound.origin.x else { 
          print("X coordinate is larger than the image width") 
          return nil 
         } 
         guard self.size.height > bound.origin.y else { 
          print("Y coordinate is larger than the image height") 
          return nil 
         } 
         let scaledBounds: CGRect = CGRect(x: bound.x * self.scale, y: bound.y * self.scale, width: bound.w * self.scale, height: bound.h * self.scale) 
         let imageRef = self.cgImage?.cropping(to: scaledBounds) 
         let croppedImage: UIImage = UIImage(cgImage: imageRef!, scale: self.scale, orientation: UIImageOrientation.up) 
         return croppedImage 
        } 
    

    はUIImage拡張に上記の方法を追加してください。

    関連する問題