我有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/