爲了解釋我有什麼問題,我會盡快解釋這種情況。我有一個合成器,我有幾個「控制視圖」。一個控制視圖可能是4個垂直滑塊,而另一個控制視圖是一個大矩陣或其他東西。所以,說我有控制視圖1-4。另外,我有兩個主要部分(只是持有者視圖),其中可以包含4個控制視圖中的一個。在任何時候,sectionA
可以有controlView4
,而sectionB
可以有controlView2
。這工作完美。同時在兩個地方的UIView?
與此問題是SectionA
不能有ControlView1
而SectionB
有ControlView1
同時。這會導致不良行爲。例如,如果SectionA
當前有ControlView1
,而SectionB
有ControlView4
(它將在下一個切換時繞回到ControlView1
),那麼比下次切換SectionB
的活動ControlView時,SectionA
的ControlView將簡單消失。 (大概是因爲UIKit將它作爲SectionB
的子視圖添加到SectionA
的子視圖中時隱式地將其刪除)。 。話雖如此,有什麼方法可以實現我想要的,而不會偏離iOS最佳實踐和理智的代碼設計?
謝謝。我從中得到的關鍵是我需要更多的模型抽象在我的架構中,甚至開始考慮做我想做的事情。我認爲的關鍵部分是TabBarVC,可以在各種VC之間進行選擇,例如MatrixVC和4SlidersVC,每個視頻和模型都有一個視圖和模型,最終用模型與合成器音頻引擎的狀態進行交互來存儲狀態。儘管最後一步還不清楚。 –
聽起來不錯。有了你描述的靈活性,你想要的最後一件事就是需要將狀態從控制器傳遞到控制器。 –