从popover委托方法不叫?
问题描述:
编辑:解决。看到我的评论为什么..对不起,这个烂摊子,不能够作为一个新手发表一个答案自己..从popover委托方法不叫?
iPad的应用程序:我有一个表视图,并从附件实例化与另一个tableview的popover。在popover中,我想选择一个单元并将该索引传回给rootView。
我在PopoverController中实现了一个协议,并使RootViewController符合它。
为什么root视图中的backPopover方法不被调用?
任何提示非常感谢!
编辑:该故事板参考指向导航控制器。本身工作正常的酥料饼..
RootViewController.h
#import "PopoverViewController.h"
@interface rootViewController : UITableViewController <UIPopoverControllerDelegate, UITableViewDelegate, AddDelegate>
{
UIPopoverController *popOverController;
}
@property (nonatomic, retain) UIPopoverController *popOverController;
@property (nonatomic) PopoverContent *popoverContent;
RootView.m
-(void) backPopover:(int)index
{
NSLog(@"index sent:%i", index);
[popOverController dismissPopoverAnimated:YES];
}
// accessoryView Button
- (void) popOver:(UIButton*)paramSender
{
UITableViewCell *cell = (UITableViewCell*)paramSender.superview;
if (cell != nil)
{
//Table position for popover
UIButton *button = (UIButton *)cell.accessoryView;
if(![self popoverContent])
{
popoverContent = [[self storyboard]instantiateViewControllerWithIdentifier:@"PopoverContent"];
[popoverContent setDelegate:self];
popOverController = [[UIPopoverController alloc]initWithContentViewController:popoverContent];
popOverController.popoverContentSize = CGSizeMake(320.0, 600.0);
[popOverController setDelegate:self];
}
CGRect rect = button.frame;
[popOverController presentPopoverFromRect:rect inView:cell permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
}
}
PopoverController.h
@protocol AddDelegate <NSObject>
- (void)backPopover: (int)index;
@end
@property (nonatomic, weak) id <AddDelegate> delegate;
PopoverController.m
@synthesize delegate;
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[self.delegate backPopover:indexPath.row];
}
答
问题是故事板参考,它实际上指向导航控制器。上面的代码就像一个魅力。
答
请试试这个。
MyViewController *viewController=[[MyViewController alloc] initWithNibName:@"MyViewController" bundle:nil];
UIPopoverController* aPopover = [[UIPopoverController alloc]
initWithContentViewController:popupController];
popovercontroller仅在iPad中受支持。 – 2013-05-06 20:12:59
我就是这样一个白痴,我没有提到,它是一个n的iPad应用程序..大对不起! – L00ps 2013-05-06 20:14:04
问题是故事板参考,它实际上指向一个导航控制器..删除它,上面的代码就像一个魅力。其实,我不知道为什么我把它放在第一位.. 我爱我如何寻找我的答案几个小时(天?)..并在学习如何问这里问题和重新编辑的过程中我的几篇文章,我自己来解决。 – L00ps 2013-05-06 21:44:53