2016-11-25 76 views
0

我试图用可选长度的ImageView呈现我的UITableViewCell。这里是我的布局:使用自动布局时UIImageView的长度是多余的

my autolayout

但我的结果是这样的(冗余从顶部和底部): enter image description here enter image description here 如何解决这个问题?

+0

第一,LMAO @样本图像。其次,确保您的常量== 0具有垂直空间限制,对于“标题标题”文本视图顶部以及底部 –

+0

@AO上的按钮都是肯定的。我确定了。 – 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 
    
相关问题