假设我有一个全屏UIView
,当触摸按钮时会覆盖主屏幕,然后在触摸此叠加视图时消失。可以使用UIView
和addSubview:
在当前视图中添加和删除此removeFromSuperview
,也可以在初始化当前视图时添加,然后通过访问和设置来显示和隐藏hidden
的{{1}}属性。哪个通常更快,性能更好(或者它们是否相同)?
答案 0 :(得分:2)
我敢打赌show和hide会更快。另一种方式需要对象创建/销毁,以及摆弄子视图。
更重要的是,我认为展示和隐藏会更简单,与复杂性的斗争是至关重要的。
答案 1 :(得分:1)
我尝试添加imageView并尝试循环1000000次以隐藏和显示每个循环并在每个循环中添加删除。结果是隐藏并显示1s做1000000循环。并添加删除3s。我在模拟器中做到了:))
答案 2 :(得分:0)
正如克莱所说,显示隐藏可能会更快,但你需要敏感的工具来检测差异。它最多只能是百分之一秒,而且可能远不如此。你将无法通过“眼睛”来感知差异。
因此重要的是其他事情,比如什么是最容易理解和维护的?视图控制器中存在一个视图存在的一个问题是,视图的布局覆盖了视图控制器的其他内容并使其难以管理。
您可以创建第二个XIB(或与故事板一起使用的XIB),它具有您的视图控制器类,因为它是“文件所有者”,并将IBOutlets链接到您想要的视图。然后在需要时从XIB加载视图,将其安装为当前视图的子视图。然后,当您完成它时,将其从超级视图中删除。我使用这种方法相当多。