user167を参照してください。UITableViewcontrollerたとえばDropDwnLevel1TableViewController.h、新しいものを作成する必要がDropDwnLevel1TableViewController.mありxibます。
次に、1つのUITableViewを設定してDropDwnLevel1TableViewControllerIBOutlateを作成し、接続して設定し、UITableVIewnibIBOUTLATEDelegatedataSource
TableViewControllerこれで、作成したアドインをUIPopoverViewcontroller以下のような方法に設定できます。-
-(IBAction)btnTableMenu_TouchUpInside:(id)sender{
DropDwnLevel1TableViewController *firstViewCtrl = [[DropDwnLevel1TableViewController alloc] init];
firstViewCtrl.title=@"My tableView";
UINavigationController *navbar = [[UINavigationController alloc] initWithRootViewController:firstViewCtrl];
[firstViewCtrl contentSizeForViewInPopover];
myPopOVer = [[UIPopoverController alloc] initWithContentViewController:navbar];
[navbar release];
myPopOVer.delegate = self;
myPopOVer.popoverContentSize =CGSizeMake(250,200);
[myPopOVer presentPopoverFromRect:sender.frame inView:sender.superview permittedArrowDirections:UIPopoverArrowDirectionRight animated:YES];
}
popOVerを却下するため
popOverViewcontroller .mファイルViewDidLoadメソッドを宣言するクラスで
- (void)viewDidLoad
{
// Hear creating NSNotificationCenter for dismiss popover
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(DismissPopOver:)
name:@"Dismiss"
object:nil];
[super viewDidLoad];
}
-(void)DismissPopOver:(NSNotification *)notification {
[yourPopOVer dismissPopoverAnimated:YES];
}
今DropDwnLevel1TableViewController.m didSelectRowAtIndexPath
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
// hear call NSNotificationCenter who creating in main class
[[NSNotificationCenter defaultCenter] postNotificationName:@"Dismiss" object:self];
}