2017-05-06 51 views
0

請幫忙解決這個問題。 我有一個viewcontroller與兩個容器視圖,每個指向一個單獨的視圖控制器。如何防止imageView在ContainerView中的導航欄下延伸

第一個viewcontroller應該顯示一個圖像,但頂部被導航欄截斷。

我沒有選中「延伸到頂部邊緣」。

我的兩個容器視圖的viewcontrollers幾乎是空的。

任何想法?

class ViewController: UIViewController { 

var teamMember:TeamMember! 

override func viewDidLoad() { 
    super.viewDidLoad() 

    if let name = teamMember.firstName { 
     title = name 
    } 
    navigationController?.view.setNeedsLayout() 
} 


override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 
    if (segue.identifier == "PictureViewController") { 
     var destination = segue.destination as? UINavigationController 
     var vc = destination?.topViewController as? PictureViewController 
     vc?.teamMember = teamMember 
    } 

    if (segue.identifier == "BioContentViewController") { 
     var vc = segue.destination as? BioContentViewController 
     vc?.teamMember = teamMember 
    } 
} 

編輯:我還設置自定義導航欄的項目,我不知道如果這會引起一個問題

override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 
    if (segue.identifier == "PictureViewController") { 

     let backItem = UIBarButtonItem() 
     backItem.title = "Meet The Team" 
     navigationItem.backBarButtonItem = backItem 
    } 

    override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 
    if (segue.identifier == "teamMemberDetailView") { 

     let backItem = UIBarButtonItem() 
     backItem.title = "Meet The Team" 
     navigationItem.backBarButtonItem = backItem 

     var vc = segue.destination as? TeamMemberDetailViewController 
     vc?.teamMember = teamArray[selectedTeamMemberIndex] 
    } 
} 

storyboard

+0

你在'UIImageView'上使用了什麼約束?它是與「topLayoutGuide」綁定的嗎? –

+0

在'viewDidAppear'中可以打印缺失視圖的幀。這將有助於調試 – user1046037

+0

@ScottThompson沒有約束的問題.. – makthrow

回答

0

領帶的ImageView頂部佈局指南。

enter image description here

如果你希望你的圖片導航欄過來,你可以把它添加到一個UIWindow。

+0

我想我設置了這個?但沒有差別 http://imgur.com/a/5VGId – makthrow

0

嘗試將視圖控制器的automaticallyAdjustScrollViewInset設置爲false

我認爲這個blog將幫助你使用容器視圖控制器。