Руководство по началу макета устарело в iOS 11

Поскольку свойство topLayoutGuide в iOS 11 устарело, как можно использовать руководство по топ-макету?

backView.topAnchor.constraint(equalTo: topLayoutGuide.bottomAnchor)

Ответ 1

TopLayoutGuide устарела в iOS 11, поэтому у нас есть возможность использовать SafeAreaLayoutGuide следующим образом:

  • Сначала мы можем получить представление safeAreaLayoutGuide
 let guide = view.safeAreaLayoutGuide
  • Второе добавление ограничения к руководству

    searchBackView.topAnchor.constraint(equalTo: guide.topAnchor).isActive = true
    

Ответ 2

Версия Obj-C:

[[searchBackView.topAnchor constraintEqualToAnchor:self.view.safeAreaLayoutGuide.topAnchor constant:0] setActive:YES];

Если у вас есть полупрозрачные столбцы, обратите внимание: тогда topLayoutGuide находится ниже столбца, например, statusBar.

см.: topLayoutGuide. Объясняет условия, которые важно учитывать.

Принимая во внимание, что safeAreaLayoutGuide.topAnchor не будет находиться ниже NivationBars; гораздо проще работать.