0
votes

Lors de l'hérité de UIView et de créer une instance pour la nouvelle classe, elle ne crée pas de vue.

J'ai créé une nouvelle classe héritante uIView. Lorsque je crée une instance de la nouvelle classe, la vue ne semble pas être créée. C'est ma classe.

class mainView : UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        var questionView = QuestionView(frame: CGRect(x: 0, y: self.view.frame.height/2, width: self.view.frame.width, height: 400))
        self.view.addSubView(questionView)
    }
}


6 commentaires

Voulez-vous dire que la vue n'est pas visible à l'écran? Vous devez d'abord ajouter la hiérarchie de vue.


Oui, la vue n'est pas visible. @pckill


Utilisez-vous XIB? vous devez le charger en premier


Non @shruti je ne suis pas.


Pouvez-vous vérifier si votre vue est au premier plan ou que cela se cache derrière toute autre sous-vision. Vous pouvez utiliser le débogueur pour vérifier la hiérarchie de vue


Pouvez-vous montrer le bon de votre vue après son initialisation


3 Réponses :


0
votes

Ajouter SUBVIEW (QuestreView) dans Mainview CODE> Classe dans ViewDiDload CODE> METHODE.

questionView.backgroundColor = UIColor.red


3 commentaires

@ReshMasuresh, avez-vous des xib associé à la questionview?


Non, je n'utilise pas.


@Reshmasuresh, j'ai essayé votre code et ça marche. Avez-vous un autre point de vue intégré dans Mainview ?



0
votes

Vous devez ajouter toutes les vues créées par programmatisme dans ViewDidLayouTouSubview code> comme ci-dessous

   override func viewDidLayoutSubviews() {
      var questionView = QuestionView(frame: CGRect(x: 0, y: self.view.frame.height/2, width: self.view.frame.width, height: 400))
self.view.addSubView(questionView)
}


0 commentaires

0
votes

Essayez le code suivant pour obtenir la vue à l'avant, utilisez BringsbueViefront code> fonction.

override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.

        let questionView = QuestionView(frame: CGRect(x: 0, y: self.view.frame.height/2, width: self.view.frame.width, height: 400))
        self.view.addSubview(questionView)

        self.view.bringSubviewToFront(questionView)

    }


0 commentaires