Xcode Interface Builder - 根据数据在子视图之间的边距

时间:2016-09-26 06:46:49

标签: ios xcode interface-builder nslayoutconstraint

我在使用Xcode的Interface Builder构建iOS自定义视图时遇到了一个问题。这就是情况;

我的应用程序有一个自定义视图,显示单个产品的信息;它显示产品的名称,产品的品牌名称及其价格。虽然产品的名称和价格是必不可少的,并且保证可以从API中获得,但品牌名称可以是可选的,可以省略。

如果存在品牌名称,则使用API​​中的响应视图会将信息显示为以下顺序:

product name
|----8px----|
brand name
|----8px----|
product price

如果没有:

product name
|----8x----|
product price

可以通过8px宽的布局约束从Interface Builder获得产品名称标签&品牌名称标签,以及品牌名称标签&产品价格标签。

当API响应中包含品牌名称时,此布局没有问题。如果没有,将隐藏品牌名称标签(这是正常的),以及产品名称标签&产品价格标签将具有不必要的16px宽的布局约束,因此:

product name
|----8px----|
(no content)  => makes unwanted additional 8px-padding between two views
|----8px----|
product price

我知道有选择地设置布局约束的常量值可以在代码中完成(通过引用目标约束,这太繁琐了),但有没有一种解决方法可以在Interface Builder编辑器中实现它? / p>

0 个答案:

没有答案