[問題] 請教TabBar如何檢測自己是那一頁

看板MacDev作者 ( )時間13年前 (2012/04/10 20:11), 編輯推噓8(8022)
留言30則, 8人參與, 最新討論串1/1
我用 UITabBarController 做出三個頁面 這三個頁面都繼承同一個類別 UITableViewController 那各自的頁面要如何知道自己是那一頁呢? 除了用 self.title 檢查以外 還有別的方式可以分辨嗎? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.170.44.38

04/10 21:58, , 1F
為什麼要知道自己是哪一頁呢?你的需求是?
04/10 21:58, 1F

04/10 22:14, , 2F
需求是要秀不同的資料,但不想寫三個重覆的code
04/10 22:14, 2F

04/10 22:14, , 3F
所以希望只用一個ViewController就可以秀三頁的內容
04/10 22:14, 3F

04/10 22:26, , 4F
目前用title可以檢測出來,但有語系問題,想找更智慧方式
04/10 22:26, 4F

04/10 23:28, , 5F
selectedIndex 這個可以嗎? 我沒用過不確定
04/10 23:28, 5F

04/11 08:53, , 6F
selectedIndex只有被選到的那頁可以檢測出來
04/11 08:53, 6F

04/11 08:53, , 7F
沒選的那二頁還是沒辦法知道自己
04/11 08:53, 7F

04/11 09:03, , 8F
那用 viewControllers 去找你的 view controller 如何?
04/11 09:03, 8F

04/11 09:34, , 9F
他如果只有一個viewController就沒辦法用viewControllers
04/11 09:34, 9F

04/11 09:35, , 10F
不然就是去改寫你的UIViewController
04/11 09:35, 10F

04/11 09:36, , 11F
所以還是要寫三個class才行囉?
04/11 09:36, 11F

04/11 09:37, , 12F
我覺得沒辦法知道自己是那一頁還是滿奇怪的設計
04/11 09:37, 12F

04/11 10:18, , 13F
因為你現在不是"自己不知道",而是上面的tabBar要告訴他們
04/11 10:18, 13F

04/11 10:19, , 14F
"他們各自是哪一頁",不然他們要用自己都是self就可以了
04/11 10:19, 14F

04/11 10:56, , 15F
在 UITableViewController init 的時候丟個 flag 進去
04/11 10:56, 15F

04/11 10:57, , 16F
再根據 flag 判斷不就好?
04/11 10:57, 16F

04/11 11:10, , 17F
樓上正解
04/11 11:10, 17F

04/11 12:34, , 18F
X大的做法最簡單有效,Good. 學習了。謝謝。
04/11 12:34, 18F

04/11 18:37, , 19F
init時還是不知道自己是那一頁丫
04/11 18:37, 19F

04/11 18:38, , 20F
init放flag是可以分出三頁,但順序不一定
04/11 18:38, 20F

04/11 18:39, , 21F
如果要再動態"生"出頁面的話,也是要先確定自己是那一頁
04/11 18:39, 21F

04/11 18:41, , 22F
本來希望可以讀到storyboard裡設定的identifier
04/11 18:41, 22F

04/11 18:41, , 23F
但找不到方法去讀...有人知道嗎?
04/11 18:41, 23F

04/11 18:44, , 24F
不要用 storyboard
04/11 18:44, 24F

04/11 19:14, , 25F
請問不要用的理由是? 用xib反而連用title分辨都不行耶
04/11 19:14, 25F

04/11 20:59, , 26F
也不要用 nib,直接寫 code 可以做的事多很多
04/11 20:59, 26F

04/11 21:46, , 27F
[self.tabBarController viewControllers]應該可以幫忙
04/11 21:46, 27F

04/11 21:50, , 28F
如roxx所說那樣 請看ppt.cc/HWQM 完整:db.tt/VoV2NFpt
04/11 21:50, 28F

04/11 23:03, , 29F
點選UITabBarControllerCell時,再動態生成,該類別實體就
04/11 23:03, 29F

04/11 23:04, , 30F
能由init帶入的flag判斷自己是哪個ViewController了。
04/11 23:04, 30F
文章代碼(AID): #1FX2DtLI (MacDev)
文章代碼(AID): #1FX2DtLI (MacDev)