首先,我要说,我已经看过所有与此有关的堆栈溢出问题,没有一个问题对此有所帮助,所以我想我应该开始自己的工作。
问题是:当我被选中的时候,我不能像很多其他问题一样忽略这个弹出式。
不同之处在于:他们所有的方式都没有奏效。
那么,让我们看一下代码:
在我的表视图控制器中:
#import <UIKit/UIKit.h>
@protocol PopoverDelegate <NSObject>
-(void)didRowAtIndexPathIsSelected;
@end
@interface tableViewController : UITableViewController
@property (strong, nonatomic) id<PopoverDelegate> myPODelegate;在我的表视图控制器中:
#import "tableViewController.h"
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[_myPODelegate didRowAtIndexPathIsSelected];
NSLog(@"IS it Gone?");
}然后在我的主视图控件中
#import <UIKit/UIKit.h>
#import "tableViewController.h"
@interface MainView : UICollectionViewController <PopoverDelegate>
@property (nonatomic, strong) TableViewController *tvController;
@property (nonatomic, strong) UIPopoverController *tvPopover;和主视图控件m:
-(void)didRowAtIndexPathIsSelected
{
NSLog(@"Dismissing now");
[tvPopover dismissPopoverAnimated:YES];
tvPopover = nil;
}所有的帮助都是感激的。
编辑:
我尝试了很多不同的新想法,并尝试了:
NSLog(@"%@", _myPODelegate);在didSelectRowAtIndexPath内部,它返回(null)。
发布于 2013-08-05 03:51:12
必须在MainView类中设置委托,在该类中分配tvController对象,以便:
tvController。myPODelegate = self
https://stackoverflow.com/questions/18044753
复制相似问题