【发布时间】:2015-07-04 19:56:46
【问题描述】:
我有一个自定义 UIView,它以编程方式使用自动布局来设置框架的大小。为此,我将视图的宽度属性设置为与父视图相同的约束,然后将纵横比的约束设置为某个硬编码值
//width constraint
NSLayoutConstraint *widhtConstraint=[NSLayoutConstraint constraintWithItem:entryView
attribute:NSLayoutAttributeWidth
relatedBy:NSLayoutRelationEqual
toItem:scrollView
attribute:NSLayoutAttributeWidth
multiplier:1.0f
constant:8.0f];
[scrollView addConstraint:widhtConstraint];
//aspect ratio constraint
NSLayoutConstraint *aspectRatioConstraint=[NSLayoutConstraint constraintWithItem:entryView
attribute:NSLayoutAttributeWidth
relatedBy:NSLayoutRelationEqual
toItem:entryView
attribute:NSLayoutAttributeHeight
multiplier:80.0/27.0//aspect ratio same as formula view
constant:0.0f];
[scrollView addConstraint:aspectRatioConstraint];
请参考图片:
我希望通过增加它的高度来改变这个框架的纵横比(查看更多),然后在触摸同一个按钮时将它调整回原来的大小。另外我如何计算总高度由其所有子视图管理的视图,因此每个子视图都可见而无需剪辑。(基本上是标准的折叠功能)
【问题讨论】:
-
如何操作纵横比约束,使其包含其下的所有子视图?
-
您能否建议我如何动态更改“aspectRatioConstraint”乘数属性(在这种情况下,它告诉视图的纵横比)。作为 Autolayout 的新手,我在网上也找不到任何东西。
标签: ios uiview autolayout aspect-ratio