【发布时间】:2011-04-11 00:01:16
【问题描述】:
所以我的 iPad 应用程序中有一个viewcontroller。它有一个UIPopoverViewController,里面有一个UITableView。我希望用户能够在 tableView 中选择一行,然后 rootViewController 将关闭弹出窗口并推送一个新的 viewController。提前致谢。
这是我迄今为止尝试过的:
在 UITableView 类中:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
WelcomeViewController *welcomeView = [[WelcomeViewController alloc] init];
welcomeView.whichDay = [daysOfTheWeek objectAtIndex:indexPath.row];
[welcomeView pushFromPopOver];
}
然后在rootViewController中:
-(void)pushFromPopOver{
//PlannerPage *plannerPageViewController = [[[PlannerPage alloc] initWithNibName:@"PlannerPageiPad" bundle:nil] retain];
[popover dismissPopoverAnimated:YES];
[popover.delegate popoverControllerDidDismissPopover:popover];
NSLog(@"%@",whichDay);
PlannerPage *plannerPageViewController = [[[PlannerPage alloc] initWithNibName:@"PlannerPageiPad" bundle:nil] retain];
plannerPageViewController.dayOfTheWeekString = whichDay;
[self.navigationController pushViewController:plannerPageViewController animated:YES];
//plannerPageViewController.dayOfTheWeekString = @"";
//[self.navigationController pushViewController:plannerPageViewController animated:YES];
//[plannerPageViewController release];
}
NSLog 告诉我选择了什么,但弹出框不会关闭并且 rootViewController 不会推送
虽然我可能会使用委托,但我不确定如何使用。 提前致谢。
【问题讨论】:
-
嗯……通常你不应该调用委托方法;应该由弹出框本身处理。
标签: objective-c ipad uitableview uipopovercontroller