user167を参照してください。UITableViewcontroller
たとえばDropDwnLevel1TableViewController.h
、新しいものを作成する必要がDropDwnLevel1TableViewController.m
ありxib
ます。
次に、1つのUITableViewを設定してDropDwnLevel1TableViewController
IBOutlateを作成し、接続して設定し、UITableVIew
nib
IBOUTLATE
Delegate
dataSource
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];
}