试图关闭其中包含表格视图的弹出视图控制器

Posted

技术标签:

【中文标题】试图关闭其中包含表格视图的弹出视图控制器【英文标题】:Trying to dismiss a popover view controller with a table view inside of it 【发布时间】:2015-06-22 16:27:16 【问题描述】:

我试图在选择其中的一个单元格时关闭一个弹出框。 我创建了一个自定义委托来支持这一点,但是它不起作用: 在包含 PopOver 和表格视图的班级中,我有以下内容:

在.h中:

@protocol DismissDelegate <NSObject>

-(void)didTap;

@end


@interface AssistanceNeededAtPopOverViewController : UIViewController<UITableViewDataSource,UITableViewDelegate>


@property (nonatomic, assign) id <DismissDelegate> delegate;

.m:

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath    
    [self.delegate didTap];

在弹出框所在的视图控制器的 .h 中:

@interface GlobalPageSideDetailViewController : BaseViewController <UITextFieldDelegate, UIAlertViewDelegate,UIPopoverControllerDelegate,DismissDelegate>

在.m中:

AssistanceNeededAtPopOverViewController *classpop = [[AssistanceNeededAtPopOverViewController alloc]init];
classpop.delegate = self;


-(void)didTap
    if (self.assistanceNeededAtPopover != nil) 
        [self.assistanceNeededAtPopover dismissPopoverAnimated:YES ];
        self.assistanceNeededAtPopover = nil;
    

应阅读此内容并关闭弹出框...任何帮助将不胜感激...

【问题讨论】:

【参考方案1】:

您必须将弹出控制器视图的 AssistanceNeededAtPopOverViewController 的委托设置为新的 GlobalPageSideDetailViewController。

在这里,您正在设置您刚刚实例化的控制器的委托,而不是弹出控制器的委托。

【讨论】:

以上是关于试图关闭其中包含表格视图的弹出视图控制器的主要内容,如果未能解决你的问题,请参考以下文章

试图关闭故事板呈现的弹出框

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

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

使用 AVPLayer 实现媒体播放器以在 Swift 4 的模态视图控制器的弹出视图中播放来自远程 url 的音频

通过弹出框 didselcet 关闭模态视图

关闭后弹出视图控制器