2017-06-22 4 views
0

Ich habe benutzerdefinierte Sprachansicht erstellt. Ich möchte diese Ansicht in der Mitte des iPad zeigen. Hier ist, was ichwie benutzerdefinierte Ansicht in der Mitte der Basisansicht hinzugefügt werden

static let langView = UINib(nibName: "LanguagesListView", bundle: nil).instantiate(withOwner: nil, options: nil)[0] as! LanguagesListView 

    func languagesPopup() -> Void { 
     BaseVC.langView.delegate = self 
     BaseVC.langView.frame = self.view.bounds 
     BaseVC.langView.center = CGPoint(x:self.view.frame.size.width/2, y: 
             self.view.frame.size.height/2); 
     self.view.addSubview(BaseVC.langView) 
    } 

haben, wenn ich diese Methode nennen es irgendwo in der linken Seite zeigt.

+0

Nur als eine schnelle Sache zu überprüfen, haben Sie versucht, es als Unteransicht von 'self.view' hinzufügen? –

+0

Haben Sie versucht, 'BaseVC.langView.center = self.view.center' zu setzen? – Losiowaty

+0

Ich habe. Es funktioniert nicht – pmb

Antwort

0

Sie setzen den Rahmen Ihrer langView gleich den Grenzen Ihrer Grundansicht, so dass die Position x, Position y, Breite und Höhe der Grundansicht entspricht. Wenn die Breite von langView dieselbe der übergeordneten Ansicht ist, ist Ihre Ansicht immer auf der linken Seite. Versuchen Sie, eine andere Größe für Ihr langView festzulegen. Versuchen Sie etwas wie folgt:

override func viewDidLoad() { 
     super.viewDidLoad() 

     let viewT = UIView() 

     viewT.frame.size = CGSize(width: 50, height: 50) 
     viewT.backgroundColor = UIColor.red 
     viewT.center = self.view.center 
     self.view.addSubview(viewT) 

    } 
+0

Ich habe das auch versucht, aber es immer noch auf der linken Seite – pmb

+0

Wenn Sie diese Funktion aufrufen? –

+0

Haben Sie versucht, 'BaseVC.langView.frame = self.view.bounds 'zu' BaseVC.langView.frame.size = CGSize (width: 50, height: 50) '' zu ersetzen? –

Verwandte Themen