present 和Dismiss

最近用到了模態視圖,簡單瞭解了下.
從VC1 present VC2 ,在從VC2 present VC3
VC1 就充當presenting view controller
VC2就是presented view controller
重點:
如果:從VC1 present VC2 ,在從VC2 present VC3
在VC2 中dismiss 其實消失的是VC3

如果只有:從VC1 present VC2
在VC2中dismiss 同樣它會找從VC2 present 的視圖,發現找不到,就會找從VC1 present的視圖,也就把VC2 給dismiss掉了.
有點類似先從self(本身)找,如果沒有發現就找super(父類)

要想dismiss 掉VC2 正確的做法是用代理回調給VC1 讓VC1來dismiss掉VC2

發佈了45 篇原創文章 · 獲贊 39 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章