Полагаю, у вас есть ParentViewController
и childViewControllerPopover
для всплывающих окон на какой-то кнопке и childViewController на ней!
Для закрытия childViewControllerPopover
вы можете использовать такой код удара
Первый в ChildViewController.h
@protocol ChildViewControllerDelegate
-(void)closeView;
@end
@interface ChildViewController : UIViewController{
id<ChildViewControllerDelegate> delegate;
}
@property (nonatomic, assign) id<ChildViewControllerDelegate> delegate;
@end
Когда выбран один cell
из yourTable
! Вы должны вызвать этот метод, поэтому поместите его в ChildViewController.m
- (void)tableViewUITableView *)tableView didSelectRowAtIndexPathNSIndexPath *)indexPath {
[delegate closeView];
}
А у тебя ParnetViewController.h
@interface ParnetViewController : UIViewController <ChildViewControllerDelegate>{
UIPopoverController *childViewControllerPopover;
}
А для ParnetViewController.m
- (void)viewDidLoad
{
[super viewDidLoad];
ChildViewController *childViewController = [[ChildViewController alloc] init];
childViewController.delegate = self;
childViewControllerPopover = [[UIPopoverController alloc] initWithContentViewController:childViewController];
[childViewController release];
}
-(void)closeView{
[childViewControllerPopover dismissPopoverAnimated:YES];
// Do anything
}