UIPopoverPresentationController

UIPopoverPresentationController

我有ViewControllerA类,从该类我提供一个UIPopoverPresentationcontroller,它显示来自类B的数据,效果很好。当我在弹出菜单中选择一个值时,我想关闭它。我的代码如下

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{

    NSString *getLang=[self.myArr objectAtIndex:indexPath.row];
    if ([getLang isEqualToString:@"Ragul"]) {
        getLang=@"Received";
    }
    else if ([getLang isEqualToString:@"Gokul"])
    {
    getLang=@"Denied";
    }
    ViewControllerA *viewCont=[[ViewControllerA alloc]init];
    viewCont.delegate=self;
    [self  dismissViewControllerAnimated:YES completion:nil];

    [viewCont anOptionalMethod:getLang];
}

anOptionalMethod是一个自定义委托方法,我调用它来显示具有从PopOver中选择的值的数据。
-(void)anOptionalMethod:(NSString *)langLocal
 {
    [self viewDidLoad];
    self.popController.delegate = self;
    [self.ContPop dismissViewControllerAnimated:YES completion:nil];
    self.langShown=YES;
    lblText.Text=MyValue;
    [self.view addSubview:lblText]; // This calls viewDidLoad method
}

当我将结果添加到带有ViewControllerA[Self.view addSubview:MyValue]中时,将调用viewDidLoad方法。因此,这不应该发生。我知道popOverPresentationController充当父视图,所以我遇到了这个问题。所以请帮我解决这个问题。
先感谢您..

最佳答案

要以编程方式关闭UIPopoverPresentationcontroller

  [[vc presentingViewController] dismissViewControllerAnimated:YES completion:NULL];

希望这可以帮助。

关于ios - 关闭UIPopOverPresentationcontroller,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37802678/

10-13 07:25