2016-06-24 2 views
0

Я хочу показать UITableViewController как всплывающее нажатие кнопки. Я могу показать всплывающее окно с помощью этого кода.UItableviewcontroller as popup не показывает данные

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, но не показывал никакого отражения результата.

ответ

0

Попробуйте добавить ниже кода в UIViewController

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

Спасибо за ответ, но это не работает – Avim

+0

Попробуйте ниже ответ с tableViewControllerName в breedPopover и его идентификатор раскадровки в «storyboar_id» – RaviG

0

или вы можете попробовать ниже код, чтобы создать поповер

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) 
+0

Спасибо, это была моя ошибка в коде. Теперь он работает, но приложение рушится на let cell = tableView.dequeueReusableCellWithIdentifier («roomcell», forIndexPath: indexPath) как! RoomsViewTableViewCell, есть ли у вас какие-либо идеи – Avim

+0

set tableView delegate & dataSource для self in viewDidLoad() – RaviG

Смежные вопросы