title: UIView components loaded but not displayed
body: <p>I have a ViewController that does not display all of its components.
  I use a performSegue to achieve this VC.
  These components are a UILabel and one to two UIButton, it depends on the times.</p>
  
  <p>When I use Debug View Hierarchy, I see that the components are loaded, so, for example, if I make a rotation of the screen, some appear, the UIButton not displayed, respond correctly to the "Touch" if I touch on the place where it is supposed to be the element (and make it appear by the same way)</p>
  
  <p>I also have no problems if I put this VC in "Root View Controller", only from a Segue.</p>
  
  <p>Do you have any ideas on the cause of the problem?</p>
  
  <p><strong>Edit I</strong></p>
  
  <p>I forgot to say that moving the application in the background and returning to it also makes it possible to make appear the components.</p>
  
  <p>Below the viewDidLoad &amp; viewDidAppear functions</p>
  
  <pre><code>class CameraView: UIViewController {
      @IBOutlet weak var titleUI: UILabel!
      @IBOutlet weak var cancelUI: UIButton!
      @IBOutlet weak var flipUI: UIButton!
      @IBOutlet weak var captureUI: UIButton!
      @IBOutlet weak var previewUI: UIView!
      @IBOutlet weak var flashUI: UIButton!
      @IBOutlet weak var touchUI: UIView!
      @IBOutlet weak var retryUI: UIButton!
      @IBOutlet weak var validateUI: UIButton!
      @IBOutlet weak var resultUI: UIImageView!
  
      var callBack: (Int, UIImage?) -&gt; Void = {
          (status: Int, image: UIImage?) -&gt; Void in
      }
      private var cameraHandler = CameraManager()
      private var flash: CameraFlashMode = .off
  
      override func viewDidLoad() {
          cancelUI.setIcon(icon: .googleMaterialDesign(.reply), iconSize: 45, color: .white, forState: .normal)
          flipUI.setIcon(icon: .googleMaterialDesign(.switchCamera), iconSize: 45, color: .white, forState: .normal)
          captureUI.setIcon(icon: .googleMaterialDesign(.cameraAlt), iconSize: 45, color: .white, forState: .normal)
          flashUI.setIcon(icon: .googleMaterialDesign(.flashOff), iconSize: 45, color: .white, forState: .normal)
          retryUI.setIcon(prefixText: "", prefixTextColor: .white, icon: .googleMaterialDesign(.chevronLeft), iconColor: .white, postfixText: "Retry", postfixTextColor: .white, forState: .normal, textSize: 15, iconSize: 20)
          validateUI.setIcon(prefixText: "", prefixTextColor: .white, icon: .googleMaterialDesign(.done), iconColor: .white, postfixText: "Save", postfixTextColor: .white, forState: .normal, textSize: 15, iconSize: 20)
  
          resultUI.clipsToBounds = true
          resultUI.contentMode = .scaleAspectFit
  
          cancelUI.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(self.cancel)))
          captureUI.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(self.capture)))
          flashUI.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(self.switchFlashMode)))
          flipUI.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(self.turnCamera)))
          validateUI.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(self.validate)))
          retryUI.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(self.retry)))
  
          cameraHandler.cameraDevice = .back
          cameraHandler.showAccessPermissionPopupAutomatically = false
          cameraHandler.flashMode = flash
          cameraHandler.animateCameraDeviceChange = true
          cameraHandler.cameraOutputMode = .stillImage
          cameraHandler.cameraOutputQuality = .high
          cameraHandler.writeFilesToPhoneLibrary = false
      }
  
      override func viewDidAppear(_ animated: Bool) {
          super.viewDidAppear(animated)
          cameraHandler.askUserForCameraPermission{result in
              if !result {
                  self.callBack(PERMISSION_REFUSED, nil)
                  self.close(reason: PERMISSION_REFUSED)
              }
          }
          self.view.setNeedsDisplay()
          retry()
      }
  ...
  }
  </code></pre>
  
  <p><strong>Edit II</strong></p>
  
  <p>I was about to add screenshots to show the differences and I realized that on the screenshots, all the items are displayed, although this is obviously not the case on the device</p>