UItableviewcontroller作为不显示数据的弹出窗口

时间:2016-06-24 11:58:16

标签: uitableview swift2 uipopovercontroller

我想在按下按钮时将UITableViewController显示为弹出窗口。我可以使用此代码显示弹出窗口

  let menuViewController =  popTableViewController() //popTableViewController

    menuViewController.modalPresentationStyle = .Popover
    menuViewController.preferredContentSize = CGSizeMake(320, 132)
    //menuViewController.tableView = FrontTable

    let popoverMenuViewController = menuViewController.popoverPresentationController
    popoverMenuViewController?.permittedArrowDirections = .Any
    popoverMenuViewController?.delegate = self
    popoverMenuViewController?.sourceView = sender
    popoverMenuViewController?.sourceRect = CGRect(
        x: 10,
        y: 10,
        width: 1,
        height: 1)
    presentViewController(
        menuViewController,
        animated: true,
        completion: nil)

但它在弹出窗口中显示空白表视图。我还在tableview类中添加了内容,但它没有显示对结果的任何反映。

2 个答案:

答案 0 :(得分:0)

尝试在UIViewController中添加以下代码

func adaptivePresentationStyleForPresentationController(controller: UIPresentationController) -> UIModalPresentationStyle {
return .None
}

答案 1 :(得分:0)

或者你可以尝试下面的代码来创建popover

let  mpopover = self.storyboard?.instantiateViewControllerWithIdentifier("breedPop") as! breedPopover
mpopover.delegate = self
self.citiesPopover = mpopover
citiesPopover!.modalPresentationStyle = .Popover
citiesPopover!.preferredContentSize = CGSizeMake(UIScreen.mainScreen().bounds.width, UIScreen.mainScreen().bounds.height/2)


let popoverPresentationViewController = citiesPopover!.popoverPresentationController
popoverPresentationViewController?.permittedArrowDirections = UIPopoverArrowDirection.Any
popoverPresentationViewController?.delegate = self
popoverPresentationViewController?.sourceView = breedTextField
popoverPresentationViewController?.sourceRect = CGRectMake(breedTextField.frame.width, breedTextField.frame.height*3, 0, 0)
    presentViewController(citiesPopover!, animated: true, completion: nil)