如何删除隐藏的 UIImage 的 space?

How to remove space of hidden UIImage?

我不知道如何删除隐藏的 UIImage 的间距。目的是如果标志为真,将显示 UIImage,如果标志为假,则隐藏 UIImage,但此隐藏图像的 space 仍然存在。

我正在使用自动布局。

如果您正在使用自动布局和情节提要,您可以设置创建一个 IBOutlet 作为控制器 class 的 属性。然后将其连接到 UIImage 的宽度约束。在您的代码中,当 UIImage 隐藏时,您将 IBConstraint 设置为 0。当它显示时,您将 IBConstraint 设置回正常宽度。

(在Controller.h)

@property (weak, nonatomic) IBOutlet NSLayoutConstraint *constraintImageWidth;

(在Controller.m)(伪代码)

if(hidden){
     constraintImageWidth.constant = 0;
}
else{
     constraintImageWidth.constant = 30;
}

在故事板中设置的标签左侧和图像右侧之间也应该有一个水平约束。

您可以在此处选中宽度框以添加宽度限制。

这里是将引用插座连接到控制器上的 IBOutlet 的地方

处理此问题的最简单、最有效的方法是使用堆栈视图。 在水平堆栈视图中插入两个图像,堆栈视图将在内部处理间距。可以根据需要调整对齐、间距等其他属性。 请记住,您将必须重新建立堆栈视图和相邻元素之间的约束,因为一旦视图被添加到堆栈视图,所有如果其约束被清除