設定背景圖片的 Top 間距條件對象是 Superview,不是 Top Layout Guide !

一般而言,當我們在 Storyboard 設定元件的 Top 間距時,如果它的上方空無一物,Xcode 將貼心地指定 Top 間距對象為 Top Layout Guide,避免元件被 status bar 的文字或 navigation bar 檔到。

雖然我們也很喜歡 Top Layout Guide,可是有些時候,它卻不是我們要的。比方當設定佔滿整個螢幕的背景圖片時。

如下圖所示,即使上下左右的間距都設為 0,背景圖片還是佔不滿整個螢幕,上方遺留高度 20 points 的白色區塊。這一切,都要怪 Top Layout Guide ! 因為此時 Top Layout Guide 為 status bar,我們設定的條件將成為 status bar 的下邊界和圖片的上邊界間距為 0。

Image for post
Image for post

想換對象其實不難,比現實世界換男女朋友容易多了。你只要先讓元件的上邊界超過 status bar 的下邊界,聰明的 Xcode 馬上能感應,知道我們想設定的 Top 間距條件對象是 Superview,而不是 Top Layout Guide。

如下圖所示,此時我們設定的 Top 間距條件將變成白色 View 的上邊界和圖片的上邊界間距為 0。

Image for post
Image for post

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store