Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/157.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 已弃用UIPopoverController_Ios_Objective C_Deprecated - Fatal编程技术网

Ios 已弃用UIPopoverController

Ios 已弃用UIPopoverController,ios,objective-c,deprecated,Ios,Objective C,Deprecated,我在使用UIPopoverPresentationController时收到一条警告,在阅读apple文档后,我知道这是不推荐的,我们必须使用UIPopoverPresentationController。请任何人帮我替换下面的代码 UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController:viewDownloader]; [popover setPopoverConte

我在使用
UIPopoverPresentationController
时收到一条警告,在阅读apple文档后,我知道这是不推荐的,我们必须使用
UIPopoverPresentationController
。请任何人帮我替换下面的代码

UIPopoverController *popover = [[UIPopoverController alloc]   initWithContentViewController:viewDownloader];
[popover setPopoverContentSize: CGSizeMake(320, 450)];
用另一种方法

if (popover!=nil && popover.popoverVisible == YES)
    [popover dismissPopoverAnimated:YES];

我需要替换这些代码,但找不到任何等效代码。谢谢你的帮助。提前感谢。

UIModalPresentationPopover

是更换
UIPOPCovercontroller

在iOS 8.0及更高版本中提供

ModalViewController *modal = [[ModalViewController alloc] init];
modal.modalPresentationStyle = UIModalPresentationPopover;
modal.transitioningDelegate = self;
modal.popoverPresentationController.sourceView = self.view;
modal.popoverPresentationController.sourceRect = CGRectZero;
modal.popoverPresentationController.delegate = self;

[self presentViewController:modal animated:YES completion:nil];
或者你可以使用下面的链接


UIModalPresentationPopover

是更换
UIPOPCovercontroller

在iOS 8.0及更高版本中提供

ModalViewController *modal = [[ModalViewController alloc] init];
modal.modalPresentationStyle = UIModalPresentationPopover;
modal.transitioningDelegate = self;
modal.popoverPresentationController.sourceView = self.view;
modal.popoverPresentationController.sourceRect = CGRectZero;
modal.popoverPresentationController.delegate = self;

[self presentViewController:modal animated:YES completion:nil];
或者你可以使用下面的链接


下面的代码显示从所选UITableViewCell点击的菜单按钮上的
UIModalPresentationPopover

-(void)menuButtonTapped:(UIButton *)button {

    UITableViewCell *cell=(UITableViewCell *)[[button superview] superview];
    self.selectedIndexPath = [self.tableView indexPathForCell:cell];
    CGRect rectOfCellInTableView = [self.tableView rectForRowAtIndexPath: self.selectedIndexPath];
    CGRect rectOfCellInSuperview = [self.tableView convertRect: rectOfCellInTableView toView:_tableView.superview];
    rectOfCellInSuperview.origin.x = self.view.frame.size.width-50;

    MyMenuPopoverController *myMenuPopoverController= [[MyMenuPopoverController alloc] initWithStyle:UITableViewStylePlain];

    myMenuPopoverController.modalPresentationStyle = UIModalPresentationPopover;
    myMenuPopoverController.popoverPresentationController.sourceView = self.view;
    myMenuPopoverController.popoverPresentationController.sourceRect = rectOfCellInSuperview;
    myMenuPopoverController.preferredContentSize = CGSizeMake(250,(myMenuPopoverController.arrMenuOptions.count * 40));
}

下面的代码显示从所选UITableViewCell点击的菜单按钮上的
UIModalPresentationPopover

-(void)menuButtonTapped:(UIButton *)button {

    UITableViewCell *cell=(UITableViewCell *)[[button superview] superview];
    self.selectedIndexPath = [self.tableView indexPathForCell:cell];
    CGRect rectOfCellInTableView = [self.tableView rectForRowAtIndexPath: self.selectedIndexPath];
    CGRect rectOfCellInSuperview = [self.tableView convertRect: rectOfCellInTableView toView:_tableView.superview];
    rectOfCellInSuperview.origin.x = self.view.frame.size.width-50;

    MyMenuPopoverController *myMenuPopoverController= [[MyMenuPopoverController alloc] initWithStyle:UITableViewStylePlain];

    myMenuPopoverController.modalPresentationStyle = UIModalPresentationPopover;
    myMenuPopoverController.popoverPresentationController.sourceView = self.view;
    myMenuPopoverController.popoverPresentationController.sourceRect = rectOfCellInSuperview;
    myMenuPopoverController.preferredContentSize = CGSizeMake(250,(myMenuPopoverController.arrMenuOptions.count * 40));
}

Google“UIPopoverPresentationController示例”,您将看到大量教程。使用UIPopoverPresentationController:Google“UIPopoverPresentationController示例”,您将看到大量教程。使用UIPopoverPresentationController: