编辑:解决了。看到我的评论为什么..对不起这个烂摊子,我自己还不能作为新手发布答案..
iPad App:我有一个表格视图,并从附件视图实例化一个带有另一个表格视图的弹出框。在弹出窗口中,我想选择一个单元格并将该索引传递回 rootView。
我在 PopoverController 中实现了一个协议,并使 RootViewController 符合它。
为什么没有调用根视图中的 backPopover 方法?
任何提示非常感谢!
编辑:该故事板参考指向导航控制器。弹出框本身工作正常..
RootViewController.h
#import "PopoverViewController.h"
@interface rootViewController : UITableViewController <UIPopoverControllerDelegate, UITableViewDelegate, AddDelegate>
{
UIPopoverController *popOverController;
}
@property (nonatomic, retain) UIPopoverController *popOverController;
@property (nonatomic) PopoverContent *popoverContent;
根视图.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];
}
}
弹出控制器.h
@protocol AddDelegate <NSObject>
- (void)backPopover: (int)index;
@end
@property (nonatomic, weak) id <AddDelegate> delegate;
弹出控制器.m
@synthesize delegate;
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[self.delegate backPopover:indexPath.row];
}