Ich benutze popoverPresentationController
, um mein Popover zu zeigen. Die als Popover angezeigte UITableViewController
wird programmgesteuert erstellt und enthält normalerweise 1 bis 5 Zeilen. Wie richte ich dieses Popover ein, um die Größe an den Inhalt der Tabellenansicht anzupassen?Wie stelle ich mein Popover schnell auf die Größe des Inhalts in meiner Tabellenansicht ein?
-Code für meinen popover:
if recognizer.state == .Began {
let translation = recognizer.locationInView(view)
// Create popoverViewController
var popoverViewController = UITableViewController()
popoverViewController.modalPresentationStyle = UIModalPresentationStyle.Popover
popoverViewController.tableView.backgroundColor = UIColor.popupColor()
// Settings for the popover
let popover = popoverViewController.popoverPresentationController!
popover.delegate = self
popover.sourceView = self.view
popover.sourceRect = CGRect(x: translation.x, y: translation.y, width: 0, height: 0)
popover.backgroundColor = UIColor.popupColor()
presentViewController(popoverViewController, animated: true, completion: nil)
}
Dank, ganz simpel. Ich habe 'preferredContentSize' vorher versucht, aber nicht daran gedacht, die Anzahl meiner Arrays zu verwenden: o. Wenn ich diese Lösung verwende, funktioniert es erst, nachdem ich 'popoverViewController.tableView.rowHeight' zuerst aufgerufen habe oder die Zählung und Höhe nur '0' zurückgeben. Wie kann ich dies tun, ohne zuerst auf die Höhe zuzugreifen? –
Normalerweise setze 'tableview.rowHeight = 44' in' viewDidLoad'. – zisoft