Как получить доступ к UIView контейнера - PullRequest
0 голосов
/ 09 ноября 2018

Если я в настоящее время нахожусь внутри ViewController, который находится внутри контейнера, как я могу получить доступ к идентификатору восстановления представления. Так что, если я в настоящее время в ViewController представления, которое находится внутри контейнера. Как получить доступ к идентификатору восстановления, который изображен на картинке с надписью «topView»? Я перепробовал все эти варианты (большинство опций, которые я не ожидал сработать, но я пробовал все):

print(self.view.window?.rootViewController?.restorationIdentifier)
print(self.view.window?.restorationIdentifier)
print(self.view.window?.superview!.restorationIdentifier)
print(self.view.restorationIdentifier)
print(self.parent?.view.restorationIdentifier)

Это все печать ноль

Shows where I'm working with restoration id

1 Ответ

0 голосов
/ 09 ноября 2018

Вам нужно найти контейнер UIView.

  override func viewWillAppear(_ animated: Bool) {
   super.viewWillAppear(animated)

  print(self.parent?.view.subviews)
 // There are two subviews in this case. The last one is the container view. Your case may be different.

  print  ((self.parent?.view.subviews[0]) )
  print (((self.parent?.view.subviews[1]) as! UIView).restorationIdentifier)
}
...