簡體   English   中英

從模態視圖控制器返回時,標簽欄消失

[英]Tab bar disappears when returning from modal view controller

我有一個奇怪的問題,我無法解決。 我有一個相對較大的應用程序,帶有來自UIViewControllers和UITableViewControllers的模態視圖控制器的segues。 UIViewControllers似乎工作正常,但是,我與表視圖控制器有一個不一致的問題。 當我轉到模態控制器時顯示標簽欄,它在模型視圖中正確顯示。 但是,當我關閉模態控制器時,表視圖控制器上的標簽欄將有50/50的可能性消失。 背景視圖一直延伸到屏幕底部。 標簽欄是半透明的,所以我希望背景延伸到它后面,但我不知道為什么在某些情況下(具有相同的控制器和相同的情況)正常工作而有些則不能。 我找不到任何模式。

在segue到modal之前: 在此輸入圖像描述

從模態返回時: 在此輸入圖像描述

初始tableview控制器:

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    if optionEnabled[indexPath.row] {
        let segues:[String] = ["profileMenuSegue", "servicesProvidedSegue", "myWorkDaySegue", "myWorkWeekSegue", "timeOffSegue", "myAvailabilitySegue", "staffSegue", "promoSegue", "activateAccountSegue", "addWeekSegue"]

        performSegueWithIdentifier(segues[indexPath.row], sender: self)
    }

}

模態視圖控制器:

Alamofire.request(.POST, url, parameters: params, encoding: ParameterEncoding.URL)
    .validate()
    .responseJSON { (request, _, result) in
        switch result {
        case .Success(let data):
            json = JSON(data)
            print(json)
            print("request successful")

            dispatch_async(dispatch_get_main_queue(), { () -> Void in
                self.dismissViewControllerAnimated(true, completion: nil)
            })
        case .Failure(_, let error):
            print("request failed")
            print(error)
    }
}

我已經嘗試了所有“延伸邊緣”設置的開啟和關閉,並且我已經嘗試覆蓋頂部條和底部條的“推斷”。 我在所有視圖控制器上將演示文稿設置為“當前上下文”。

任何建議都非常感謝,因為我正在試用的東西。

我有同樣的問題,我修復了在segue的表示類型上選擇“Over Current Context”。 見圖:

屬性檢查器

我能找到的唯一解決辦法是刪除所有模態段。 我將它們全部切換到“顯示”segues並且從那時起就沒有問題。 必須與我沒有全屏顯示模態視圖這一事實有關。 我的底部仍然有標簽欄。 當從模態視圖轉換回調用者時,標簽欄上通常會有一些顏色,然后有時標簽欄會返回,有時候它會被背景覆蓋。

如果我的問題是正確的:當我第一次開始使用標簽欄控制器時,我遇到了同樣的問題! 我發現,如果你從一個視圖控制器模態回來,你必須一直回到標簽欄控制器。 dismissViewController對我來說效果更好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM