2016-11-25 8 views
0

オプションの長さを持つImageViewでUITableViewCellを表示しようとしています。自動レイアウトを使用すると、UIImageViewの長さが冗長になる

my autolayout

しかし、私の結果(上部と下部から冗長性)このようになります: enter image description here enter image description here は、どのようにこの問題を解決するために、ここで私のレイアウトは?

+0

まず、LMAOする@サンプル画像。第2に、 "タイトルタイトル"のテキストビューを上に、下のボタンを –

+0

@AOの両方に確実に固定し、定数== 0の垂直スペース制約があることを確認してください。私はそれを設定した。 – John

+0

余分なスペースが確かにUIImageViewの余分な高さであることを確認するために、ビューデバッガに入ってみましたか?高さを特定の定数にすると、その間隔が表示されますか? –

答えて

0

問題はContentHuggingPriorityContentCompressionResistancePriorityとここにあります。

は、あなたのコード内で画像のサイズを検出することができます何もないこの

[NSLayoutConstraint autoSetPriority:ALLayoutPriorityRequired forConstraints:^{ 
    [yourImageView autoSetContentCompressionResistancePriorityForAxis:ALAxisHorizontal]; 
    [yourImageView autoSetContentHuggingPriorityForAxis:ALAxisHorizontal]; 
}]; 
+0

正しくない可能性があります。私は試したが役に立たなかった。 – John

0

を使用するようにしてください。

  1. 画像ビューに高さの拘束を設定します。定数は、後でプログラムで変更するため、重要ではありません。

  2. は、その高さ制約IBOutletを作成し、画像のサイズを取得します。IB

    @property (strong, nonatomic) IBOutlet NSLayoutConstraint *imageViewHeight 
    
  3. に接続します。 Reference

    UIImage * img = [UIImage imageNamed:@"someImage.png"]; 
    CGSize imgSize = img.size; 
    
  4. 変更NSLayoutConstraint定数。

    self.imageViewHeight.constant = imgSize.height 
    
関連する問題