动画以调整 UIView 的高度
Posted
技术标签:
【中文标题】动画以调整 UIView 的高度【英文标题】:Animate to resize height of UIView 【发布时间】:2014-03-28 06:48:56 【问题描述】:我面临一个非常奇怪的问题,我有 UIView grandWrapper,即当我将 grandWrapper 的高度设置为零时,我现在添加了许多子视图,理想情况下,grandWrapper 的高度应该为零并且所有内部视图都应该消失因为它们存在于该 grandWrapper 视图中,但它将高度设置为零并且所有子视图仍然存在。有人可以帮忙吗?
附:我以编程方式创建子视图。提前致谢
【问题讨论】:
【参考方案1】:如果您希望子视图根据父视图的高度调整其高度,则使子视图的 autoresizingMask
属性包含 UIViewAutoresizingFlexibleHeight
。
或者您可以将视图的clipsToBounds
属性设置为YES。
【讨论】:
【参考方案2】:对你的问题有点困惑
1.如果你想删除你的 grandWrapper 子视图然后调用下面的函数
-(void)clearReportContent
if(grandWrapper!=nil)
[[grandWrapper subviews] makeObjectsPerformSelector: @selector(removeFromSuperview)];
2.如果将 grandWrapper 高度设置为零时屏幕上出现子视图,
然后在开始时设置 grandWrapper.cliptoBounds=YES;
在 grandWrapper 上添加子视图。
【讨论】:
我没有删除它,我正在将 grandWrapper 的高度从 0 设置为 150,然后在按钮点击 150-0 时再次设置动画,因此我希望所有内部视图相对于它们的父项消失而消失。 然后使用第二个选项或设置子视图的自动调整大小掩码,如@KudoCC 所说以上是关于动画以调整 UIView 的高度的主要内容,如果未能解决你的问题,请参考以下文章
动画调整全屏 UIView 的大小以在屏幕底部显示另一个 UIView
如何在不制作 IBOutlet 的情况下以编程方式在 Swift 中为 UIView 高度约束设置动画?
当我尝试以编程方式添加 UIView 时,UITableViewCell 高度不会自动调整(而是压扁我的 UIView)