2017-07-04 64 views
5

我能做些什麼來解決底部佈局已被棄用iOS的11,我使用的Xcode 9測試版2.底部佈局棄用11.0

enter image description here

+0

奇怪的......我在這裏沒有得到錯誤https://i.imgur.com/F7dsvP1.png – paper1111

回答

1

this,在iOS的11,IB取代bottomLayoutGuide通過safeAreaLayoutGuide

Interface Builder中使用UIView.safeAreaLayoutGuide作爲 棄用的頂部更換和底部佈局指南中的UIViewController。若要 使用新的安全區域,請在視圖控制器的文件 檢查器中選擇安全區域佈局指南,然後在 內容和新安全區域錨點之間添加約束。這樣可以防止您的內容 被頂部和底部的條以及tvOS上的過掃描區域 遮擋。部署到早期版本的iOS時,安全區域的約束將轉換爲頂部和底部 。 (29323293)

7

只需在IB的文件檢查器中檢查「使用安全區域佈局指南」按鈕即可。

use safe area layout guides

+0

只是爲了增加一點清晰度。爲了解決這個問題在我的故事板文件中,我不得不選擇故事板,然後選擇故事板中的場景來顯示該選項。當我僅選擇故事板時,該選項未出現。如果您有多個場景,則需要爲故事板文件中的每個場景執行此操作。 – xdeleon

+0

@ paper1111這是理想的使用紅色手繪圈:https://meta.stackexchange.com/questions/138031/is-there-a-joke-about-freehand-circles-that-im-oblivious-to – SteveFest

0

使用 「安全區佈局」(Safe Area Layout Guide
安全區域佈局已替換iOS 11中的頂部佈局和底部佈局。佈局指南代表您的視圖部分,不受條和其他內容遮擋。在iOS 11中,Apple將棄用頂部和底部的佈局指南,並用一個安全區域佈局指南替換它們。

當視圖在屏幕上可見時,本指南反映了未被其他內容覆蓋的視圖部分。視圖的安全區域反映了隱藏視圖控制器視圖的導航欄,選項卡欄,工具欄和其他祖先所覆蓋的區域。 (在tvOS中,安全區域包含屏幕的邊框,由UIScreen的overscanCompensationInsets屬性定義)。它還涵蓋由視圖控制器的additionalSafeAreaInsets屬性定義的所有額外空間。如果視圖當前未安裝在視圖層次結構中,或者尚未在屏幕上顯示,則佈局指南始終與視圖的邊緣匹配。

對於視圖控制器的根視圖,此屬性中的安全區域表示被遮擋的視圖控制器內容的整個部分以及您指定的任何其他插入。對於視圖層次結構中的其他視圖,安全區域只反映了被遮擋的那部分視圖。例如,如果一個圖是完全其視圖控制器的根視圖的安全區域內,在該屬性中邊緣插圖爲0

據蘋果,Xcode 9 - Release note
界面生成器使用UIView.safeAreaLayoutGuide作爲替換針對UIViewController中的棄用頂部和底部佈局指南。要使用新的安全區域,請在文件檢查器中爲視圖控制器選擇安全區域佈局指南,然後在內容和新的安全區域錨點之間添加約束。這可以防止您的內容被頂部和底部條紋以及tvOS上的過掃描區域遮擋。部署到早期版本的iOS時,安全區域的約束將轉換爲Top和Bottom。

enter image description here


這是現有(頂底&)之間的簡單引用作爲對比(作出類似的視覺效果)佈局指南和安全區佈局指南。

安全區域佈局: enter image description here

自動版式

enter image description here


這裏是Safe Area Layout Guide

蘋果開發者官方文檔需要使用安全區來處理iPhone-X的用戶界面設計。 How to design user interface for iPhone-X using Safe Area Layout