同时在两个地方的UIView?

时间:2016-03-05 01:16:32

标签: user-interface cocoa-touch uikit

为了解释我遇到的问题,我会尽快解释这个情景。我有一个我正在构建的合成器,它有几个“控制视图”。一个控制视图可能是4个垂直滑块,而另一个是一个大矩阵或其他东西..所以,说我有控制视图1-4。另外,我有两个主要部分(只是持有者视图),它可以包含4个控制视图中的一个。在任何特定时刻,sectionA都可以controlView4sectionB可以controlView2。这非常有效。

问题是SectionA ControlView1 SectionB同时ControlView1 SectionA。这导致不良行为。例如,如果ControlView1当前有SectionBControlView4ControlView1(将在下一个切换时回绕到SectionB),那么下次我切换SectionA的活动ControlView,SectionA的ControlView将会消失。 (大概是因为当我将SectionB的子视图添加到arr = []; var item={ id: '2', step: 'step2', label: 'Banana', price: '19$' } arr.push(item); 的子视图中时,UIKit会隐式删除它。)

因此,UIView的某些默认行为对于我希望实现的模块化方案并不理想。话虽这么说,有没有办法实现我想要的东西,而不偏离远离iOS最佳实践和理智的代码设计?

1 个答案:

答案 0 :(得分:0)

首先,我希望为每种类型的视图提供不同类型的视图控制器。然后,每次我想要一个部分中的视图时,我会创建它的匹配控制器并让它接管该容器区域。如果这四个部分随后显示同一视图的多个副本,则每个部分都有自己的控制器以保持它们的有序性。

假设您的数据模型与视图和控制器分开,则不应该有额外的复杂性。