看板 MacDev 關於我們 聯絡資訊
各位版上前輩好, 目前正在試著學習iOS的開發, 使用語言是Objective-c 因為全部都是自學, 也不知道如果有關於iOS元件的問題應該要參考哪一本書, 而這個問題又卡了我很久... 所以我才拿出來這邊提問.. UINavigationController | V MainList(UIViewController) | V LogIn (UIViewController) 目前的畫面是這樣,用StoryBorad拉出來的。 MainList是UINavigationController的RootViewController 現在的情況是我LogIn畫面登入後 我想要把值傳給MainList 一開始想到的是prepareForSegue, 所以我就直接把LogIn畫面上的登入按鈕拉Segue到MainList 但是如果我用Show的方式將畫面換到MainList 那回到MainList時上面的NavigationBar就會有"返回Login"的按鈕 但是這跟邏輯不符 你不可能登入後、回到主畫面,還提供人一個回到Login的按鈕啊 所以我改用其他的, 像是Present Modally或是Show Detail等等, 但是這樣上面的NavigationBar又會在回到MainList後消失... 後來研究一下 發現如果我用Present Modally將Segue從Login指到UINavigationController了話 就能成功進入MainList畫面而且NavigationBar不會消失 但是這樣了話就沒有辦法使用prepareForSegue將值傳到MainList... 想請問如果這樣的情況 我要用什麼功能才能把LogIn的值傳到MainList 並保有NavigationBar且不會出現"返回Login"的按鈕呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 163.17.9.220 ※ 文章網址: https://www.ptt.cc/bbs/MacDev/M.1433819401.A.EBA.html
stweber2001: 可以hideBackButton 06/09 11:12
stweber2001: 還有記得取消手勢,不然一樣有辦法返回 06/09 11:13
tom19830924: 你不能一直用push/show navigation是stack架構 06/09 18:24
tom19830924: 你這樣到時候要pop可能會出問題 06/09 18:24
tom19830924: 建議你 登入畫面這種 使用present modally 06/09 18:25
tom19830924: 並且去找一找delegate&protocol相關用法 06/09 18:26
Esvent: 你是想要登入之後 把Login頁面pop掉 然後把資料傳回來? 06/09 21:10
Esvent: 如果不確定是誰要接的話 可以試試NSNotificationCenter 06/09 21:12
Esvent: 或是樓上提的delegate 06/09 21:13
Esvent: 但如果你確定他一定是rootVC, 那你也可以直接用抓rootVC 06/09 21:14
Esvent: 強制轉型 然後把資料塞給他就好 (偷懶的方法 06/09 21:16