2016-10-29 4 views
27

Проблема заключается в том, что мой вид, содержащий UIView и UITableView в ScrollView, получает скрытые под UINavigationBarесли установлен полупрозрачный.Как установить edgesForExtendedLayout никому в Swift 3

Я рассмотрел несколько нитей, как this, но все они предлагают установить:

self.edgesForExtendedLayout = UIRectEdgeNone 

В Swift 2, этот код был:

self.edgesForExtendedLayout = .None 

Я обновлен до Xcode 8.1 и Swift 3.0 .1 сегодня, но я не могу найти ничего в release notes по этому вопросу.

Компилятор сообщает мне, что .None изменен на .none, но после редактирования, что .none не существует. Изменение его на .top не оказало никакого эффекта.

Tableview является установка программно и ввод insets не поможет, потому что у меня есть scrollView с UIView на вершине UITableView, который скрыт под UINavigationBar.

Что мне не хватает? Помощь очень ценится.

ответ

89

Установите его на []. Это то же самое, что и никто.

+0

хорошо. спасибо ... это было быстро и помогло ... –

+0

Мне даже нужно подождать 10 минут, прежде чем я смогу принять ваш ответ. что не произошло с тех пор вопрос: '[]' всегда то же самое, что '.none' или только в этом случае? i ничего не смог найти –

+0

Да, '[]' такое же, как '.none', как указывает матовый. –

11
self.edgesForExtendedLayout = UIRectEdge.init(rawValue: 0) 
+3

Удалить .init, и все будет хорошо. Инициатор неявно называется. –

Смежные вопросы