Файл XIB оснащен целым экраном в iOS Swift - PullRequest
0 голосов
/ 04 марта 2020

Я пытался показать UIViewController на весь экран при использовании данного модального режима?

вот выходное изображение

enter image description here

У меня есть xib viewController, где я пытаюсь отправить значение другому viewController, используя настоящий метод, но он не подходит для полноэкранного режима.

Вот код:

let vc = TabBarViewController()
vc.processDefID = keyVal

vc.view.autoresizingMask = [.flexibleWidth, .flexibleHeight]
vc.modalPresentationStyle = .overFullScreen //or .overFullScreen for transparency
self.present(vc, animated: true, completion: nil)

ANother Метод пытался:

 var clientView: UIViewcontroller

 let V = TabBarViewController()
            self.clientView?.view.autoresizingMask = [.flexibleWidth, .flexibleHeight]
            self.clientView?.addChild(V)
            self.clientView?.view.addSubview(V.view)
            V.processDefID = keyVal
        V.view.frame = (self.clientView?.view.bounds)!
            V.view.autoresizingMask = [.flexibleWidth, .flexibleHeight]
            V.modalPresentationStyle = .fullScreen
            self.present(V, animated: true, completion: nil)

1 Ответ

0 голосов
/ 04 марта 2020

Обычно вы можете показать / представить свой вид двумя способами.

Создать UIViewController объект и представить его так, как вы делаете

func presentView() {
  let vc = UIStoryboard.init(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "ScannerViewController")        
  vc.view.backgroundColor = .red
  vc.view.autoresizingMask = [.flexibleWidth, .flexibleHeight]
  vc.modalPresentationStyle = .fullScreen
  self.present(vc, animated: true, completion: nil)
}

В случае использования UIViewController с файлом XIB, он просто изменит часть инициализации ViewController и ничего больше, как и

let vc = ScannerViewController(nibName: "ScannerView", bundle: nil)

Создайте UIViewController объект и вставьте его следующим образом, вы также можете назначить пользовательский кадр к UIView объекту.

func presentView() {
                let vc = UIStoryboard.init(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "ScannerViewController")
                vc.view.frame = CGRect(x: 0, y: 0, width: self.view.frame.width, height: self.view.frame.height/2)
                vc.view.backgroundColor = .red
                self.addChild(vc)
                self.view.addSubview(vc.view)
              }
...