iphone上使用UIPopoverPresentationController


协议:UIPopoverPresentationControllerDelegate

        UITableViewController * mypopTableView = [[UITableViewController alloc]init];
        _historyResultTableViewVC = mypopTableView;
        _historyResultTableViewVC.tableView.tag = 2;
        _historyResultTableViewVC.tableView.delegate = self;
        _historyResultTableViewVC.tableView.dataSource = self;
        _historyResultTableViewVC.modalPresentationStyle = UIModalPresentationPopover;
        
        UIPopoverPresentationController *popPC = _historyResultTableViewVC.popoverPresentationController;
        historypopPC = popPC;
        historypopPC.barButtonItem = self.navigationItem.rightBarButtonItem;
        _historyResultTableViewVC.preferredContentSize = CGSizeMake(150, 200);
        historypopPC.delegate = self;
        [self presentViewController:_historyResultTableViewVC animated:YES completion:nil];

iphone上使用UIPopoverPresentationController_第1张图片
0747123D-256F-4AE2-AEC2-565E7803BFD3.png

ipad中

 UITableViewController * mypopTableView = [[UITableViewController alloc]init];
            mypopTableView.tableView.delegate = self;
            mypopTableView.tableView.dataSource = self;
            _searchResultTableViewVC = mypopTableView;
            _searchResultTableViewVC.modalPresentationStyle = UIModalPresentationPopover;
            
            UIPopoverPresentationController *popPC = _searchResultTableViewVC.popoverPresentationController;
            popPC.sourceView = self.view;
            popPC.sourceRect =CGRectMake(30,60,500,150);
            popPC.permittedArrowDirections = UIPopoverArrowDirectionRight;
            popPC.delegate = self;
            
            [self presentViewController:_searchResultTableViewVC animated:YES completion:nil];

在iPad上,必须指定一个sourceView,同时还应指定一个sourceRect
iphone上使用UIPopoverPresentationController_第2张图片
1AFAA2FC-50DC-42DF-ADE4-51418D05C115.png

你可能感兴趣的:(iphone上使用UIPopoverPresentationController)