以下是隐藏视图的最佳方式?
是否有人有另一方没有的好处?在运行时节省资源方面?特别是在具有可重用单元格的UITableView中,一个单元格可能不需要某些子视图。
答案 0 :(得分:2)
这取决于您想要/需要完成的任务。对于可能会重复使用的视图,view.hidden=TRUE
(我选择此案例)和/或view.alpha=0.0
的组合,可能会操纵z-index以确保您的视图不再位于前面。
我不确定将视图的框架设置为CGRectZero
的好处,在此时完全删除它可能更合适。
简而言之,如果你不需要它,就不要保留它。
<强>更新强>:
使用提及表格单元格,还要考虑创建多个custom cells的可能性,尤其是在删除子视图导致布局问题时。可以根据您设置的任何条件创建每个单元格。
更新2 :
根据下面留下的评论,如果单元格很复杂,通过代码绘制单元格可能是正确的解决方案。
答案 1 :(得分:0)
使用UIView,alpha=0
具有可动画的优势,而hidden=YES
则没有。 frame=CGRectZero
也是可动画的,但效果却完全不同。动画alpha=0.0
会导致视图淡出,而frame=CGRectZero
会导致视图消失在左上角。我不担心任何这些技术的系统资源费用,因为它们都非常轻量级。