[心得] 找目前顯示的UIViewController

看板MacDev作者 (永保安康)時間13年前 (2012/02/02 13:43), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
因為自己案子的需求, 需要在UIAlertView被dismiss的時候, 知道目前顯示的UIViewController是哪個。 找了些資料,無法透過UIKit提供的方法找到, 於是自己寫了一個UIViewController的category「TopViewController」。 分享於gist: https://gist.github.com/1721691 1. 透過遞迴的方式找到最上層的UIViewController 2. 遞迴判斷的順序 a)目前的UIViewController是否有presentedViewController? 是 -> 由presentedViewController繼續遞迴 b)是否包含於UINavigationController裡? 是 -> 回傳UINavigationController的visibleViewController c)是否本身就是UINavigationController? 是 -> 回傳visibleViewController d)以上皆非 -> 回傳self 目前在自己案子都還算順利, 但不確定這樣的方法有沒有問題:) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.67.167.60
文章代碼(AID): #1FAY9yf- (MacDev)
文章代碼(AID): #1FAY9yf- (MacDev)