尝试使用其中的表视图关闭弹出窗口视图控制器

时间:2015-06-22 16:27:17

标签: ios objective-c uipopovercontroller

我在选择其中的单元格时尝试解除弹出窗口。 我已经创建了一个自定义委托来支持它,但它不起作用: 在我的类中包含PopOver和表View我有以下内容:

在.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];
}

在popover所在的viewcontroller的.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;
    }
}

这应该被阅读并且popover应该被解雇...任何帮助将不胜感激...

1 个答案:

答案 0 :(得分:0)

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

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