David Seek David Seek - 1 month ago 67
Swift Question

How to set edgesForExtendedLayout to none in Swift 3.0.1

The problem is that my View, containing a

UIView
and a
UITableView
within a
ScrollView
, gets hidden under the
UINavigationBar
if set translucent.

I have considered several threads like this, but they all suggest to set:

self.edgesForExtendedLayout = UIRectEdgeNone


In Swift 2, this code was:

self.edgesForExtendedLayout = .None


I have updated to Xcode 8.1 and Swift 3.0.1 today, but I can't find anything in the release notes about this matter.

The compiler tells me, that
.None
got changed to
.none
, but after edit, that
.none
does not exist. Changing it to
.top
did not had any effect.

The tableView is setup programatically and putting
insets
does not help because I have a
scrollView
with a
UIView
on top of the
UITableView
that is hidden under the
UINavigationBar
.

What am I missing? Help is very appreciated.

Answer

Set it to []. That is the same as none.