视图控制器和取消按钮之间的弹出窗口

Posted

技术标签:

【中文标题】视图控制器和取消按钮之间的弹出窗口【英文标题】:Popover between view controllers and cancel button 【发布时间】:2012-12-01 00:17:54 【问题描述】:

我有两个表格视图,比如说一个和两个,一个在点击文本字段时呈现两个,为此我有:

-(void) setProducts:(UITextField *) box

UIViewController *selectInBox = [self.storyboard instantiateViewControllerWithIdentifier:@"selectingProducts"];
popover = [[UIPopoverController alloc] initWithContentViewController:selectInBox];
[popover presentPopoverFromRect:box.bounds inView:box permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];


-(BOOL)textFieldShouldBeginEditing:(UITextField *) textField

if (textField.tag == 2)

    [self setProducts:textField];


一切正常,直到知道,表格“二”出现在弹出框内和文本字段下方,但表格“二”有一个取消按钮,它应该关闭表格视图“二”(在表格视图“一”内)。所以我在 tableview "two" 中使用了我的取消方法,我这样做了,但它不起作用,我认为这不能简单:

- (IBAction)cancel:(id)sender

[self removeFromParentViewController];

我也试过了:

- (IBAction)cancel:(id)sender

 one *aux = [[one alloc]init];
 [aux.popover dismissPopoverAnimated:YES] //popover is a property of tableview one.  

还尝试过:“如果 self isBeingPresented”......但没有任何效果!。

有什么想法吗?帮忙!

提前感谢

【问题讨论】:

【参考方案1】:

我已经非常成功地使用了以表单形式(模态)呈现的“弹出框”。

- (IBAction)cancelButtonTapped:(id)sender

    [self dismissViewControllerAnimated:YES completion:nil];

dismissPopoverAnimated:YES... 应该从呈现视图控制器调用。

【讨论】:

以上是关于视图控制器和取消按钮之间的弹出窗口的主要内容,如果未能解决你的问题,请参考以下文章

弹出窗口中的按钮将在主视图控制器中显示文本

以编程方式从嵌入导航控制器的视图中解除弹出窗口

单击 uibutton 时关闭弹出窗口

表视图控制器在弹出窗口中分配给 contentViewController 属性时不显示数据

如何迅速解除父母的弹出窗口

在运行时创建的控件没有窗口。无法从没有窗口的视图中显示弹出框