首先让我说,我已经查看了有关此的所有堆栈溢出问题,但没有任何帮助所以我想我会开始自己的。
问题:就像许多其他问题一样,我无法在选择时关闭此弹出框。
区别:他们所有的方法都没有奏效。
那么,让我们看一下代码:
在我的表视图控制器.h 中:
#import <UIKit/UIKit.h>
@protocol PopoverDelegate <NSObject>
-(void)didRowAtIndexPathIsSelected;
@end
@interface tableViewController : UITableViewController
@property (strong, nonatomic) id<PopoverDelegate> myPODelegate;
在我的表视图控制器.m 中:
#import "tableViewController.h"
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[_myPODelegate didRowAtIndexPathIsSelected];
NSLog(@"IS it Gone?");
}
然后在我的主视图 Controller.h
#import <UIKit/UIKit.h>
#import "tableViewController.h"
@interface MainView : UICollectionViewController <PopoverDelegate>
@property (nonatomic, strong) TableViewController *tvController;
@property (nonatomic, strong) UIPopoverController *tvPopover;
和主视图 Controller.m:
-(void)didRowAtIndexPathIsSelected
{
NSLog(@"Dismissing now");
[tvPopover dismissPopoverAnimated:YES];
tvPopover = nil;
}
感谢所有帮助。
编辑:
我一直在尝试许多不同的调试想法并尝试过:
NSLog(@"%@", _myPODelegate);
在 didSelectRowAtIndexPath 里面它回来了(空)。