繁体   English   中英

隐藏UIView的最有效方法

[英]Most efficient way to hide a UIView

出于以下情况,这是隐藏视图的最佳方式?

  • 将框架设置为CGRectZero
  • 隐藏属性为YES
  • alpha属性为0.0

一个人有没有其他人没有的好处吗? 在运行时节省资源方面? 特别是在具有可重用单元格的UITableView中,一个单元格可能不需要某些子视图。

这取决于你想要/需要完成什么。 对于可能会被重用的视图, view.hidden=TRUE (我选择这种情况)和/或view.alpha=0.0 ,并且可能操纵z-index以确保您的视图不再在面前。

我不确定将视图框架设置为CGRectZero的好处,可能更适合在此时完全删除它。

简而言之,如果您不需要它,请不要保留它。

更新

使用提及表格单元格,还要考虑创建多个自定义单元格的可能性,尤其是在删除子视图导致布局问题时。 可以根据您设置的任何条件创建每个单元格。

更新2

根据下面留下的评论,如果单元格很复杂,通过代码绘制单元格可能是正确的解决方案。

使用UIView, alpha=0具有可动画的优点,而hidden=YES则没有。 frame=CGRectZero也是可动画的,但效果却完全不同。 当动画alpha=0.0将导致视图淡出而frame=CGRectZero将使其看起来消失在左上角。 我不担心任何这些技术的系统资源费用,因为它们都非常轻量级。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM