2016-03-01 58 views
0

在我的应用程序中,我目前正在研究一个功能,其中按钮点击时,屏幕顶部附近的视图向下延伸以填充屏幕(边缘有间隙)。视图最初大约有40个点,当它延伸时,它从视图的底部延伸到20个点。在可变框架的视图中添加子视图

我想弄清楚在这个视图中处理UI的最佳方式,因为它的小形式只包含一个按钮和一个ImageView,但是当它展开时它还包含标签,scrollview和其他图像视图。

我应该使用一个xib,然后我可以将框架设置为与展开视图相同或某种容器视图?

如果我能避免它,我想避免以编程方式创建布局。

任何人有任何建议吗?

+0

您使用的故事板,自动布局,大小班?这是一个可重复使用的控件还是一次性的东西 – JordanC

+0

是的,故事板和自动布局。是的,我应该提到它会被多次使用(我有大约10个显示不同数据的按钮)。 – user3746428

回答

1

尽管有许多方法可以完成视觉要求,但无论您是使用故事板还是使用.xib文件,Autolayout都可能是最简单的管理方法。尽管您可以用这种方式定义布局,但您可能需要在运行时对其进行修改。

例如,你可能会为您的视图中创建两个约束:

1)添加一个高度约束你的观点与大于或等于40

2)添加一个垂直的值从视图底部到视图控制器的底部布局指南的间距约束。使此约束成为IBOutlet,以便稍后可以在代码中对其进行修改。

使用Autolayout,您需要确保布局对视图的大小和位置没有歧义,因此您还应该为视图的顶部,左侧和右侧相对位置创建约束。

当它是适当延长你的看法,实现一个功能或IBAction为将修改的约束,使得其.constant值为20

+0

谢谢!这肯定有帮助。我正在跟踪目前的情况,但我不确定它是否可行。它现在完美。只有我做了与你所建议的不同的是没有指定高度限制。 – user3746428

相关问题