为了解释我遇到的问题,我会尽快解释这个情景。我有一个我正在构建的合成器,它有几个“控制视图”。一个控制视图可能是4个垂直滑块,而另一个是一个大矩阵或其他东西..所以,说我有控制视图1-4。另外,我有两个主要部分(只是持有者视图),它可以包含4个控制视图中的一个。在任何特定时刻,sectionA
都可以controlView4
而sectionB
可以controlView2
。这非常有效。
问题是SectionA
ControlView1
SectionB
同时ControlView1
SectionA
。这导致不良行为。例如,如果ControlView1
当前有SectionB
而ControlView4
有ControlView1
(将在下一个切换时回绕到SectionB
),那么下次我切换SectionA
的活动ControlView,SectionA
的ControlView将会消失。 (大概是因为当我将SectionB
的子视图添加到arr = [];
var item={
id: '2',
step: 'step2',
label: 'Banana',
price: '19$'
}
arr.push(item);
的子视图中时,UIKit会隐式删除它。)
因此,UIView的某些默认行为对于我希望实现的模块化方案并不理想。话虽这么说,有没有办法实现我想要的东西,而不偏离远离iOS最佳实践和理智的代码设计?
答案 0 :(得分:0)
首先,我希望为每种类型的视图提供不同类型的视图控制器。然后,每次我想要一个部分中的视图时,我会创建它的匹配控制器并让它接管该容器区域。如果这四个部分随后显示同一视图的多个副本,则每个部分都有自己的控制器以保持它们的有序性。
假设您的数据模型与视图和控制器分开,则不应该有额外的复杂性。