2017-08-18 2 views
0

Ich entwickle eine Anwendung mit zwei View Controllern. Der erste zeigt einen Popover-ViewController (für den zweiten View-Controller) an, wenn der Benutzer eine lange Druckgeste auf einem TextField ausführt. Unten ist der Code des popover (in dem ersten View-Controller), die programmgesteuert durchgeführt wird:Die Größe des Popover ViewController anpassen, um die Daten anzupassen, die in einem UITableView angezeigt werden sollen.

 func longpressGestureTriggeredForIndicativeDesignWorkingLifeTextView (gestureRecognizer: UIGestureRecognizer) { 

     if gestureRecognizer.state == UIGestureRecognizerState.began { 

     self.view.endEditing(true) 

     } 

    let popController = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "IndicativeDesignWorkingLifeVC") 

    popController.modalPresentationStyle = UIModalPresentationStyle.popover 
       popController.popoverPresentationController?.permittedArrowDirections = UIPopoverArrowDirection.up 

    popController.popoverPresentationController?.delegate = self 

    popController.popoverPresentationController?.sourceView = (indicativeDesignWorkingLifeTextView!) 

    popController.popoverPresentationController?.sourceRect = (indicativeDesignWorkingLifeTextView as AnyObject).bounds 

    self.present(popController, animated: true, completion: nil) 

     } 

Wenn die zweiten View-Controller überspringen die UITableView anzeigt, die es enthält. Die Größe des Popover-VIewControllers ist viel größer als die Anzahl der Zeilen in der Tabelle, die im zweiten View-Controller eingerichtet wurde.

Wie kann ich die Größe des Popover-ViewControllers so einstellen, dass er in Höhe und Breite der Menge der Daten entspricht, die im UITableView-Set im zweiten View-Controller enthalten sind?

Antwort

0

Im viewWillAppear des 2. View-Controllers müssen Sie die Zeilenhöhe der TabelleView-Zelle ermitteln und die Anzahl der Zellen zählen, um die Gesamthöhe der Tabellenansicht zu erhalten. Sobald Sie das getan haben, können Sie die Höhe des Popover ändern, indem Sie

+0

Vielen Dank genau, was ich gesucht habe :) –

+0

Ich bin Lichtung, ich könnte helfen – OverD

Verwandte Themen