如何在ipad中创建Popover?

时间:2011-08-04 10:03:38

标签: ios cocoa-touch ipad uipopovercontroller

我想在我的iPad应用程序中开发一个popover。 UIButton触发器将调用popover,popover将包含UITableViewController。

首先我需要一个弹出窗口。

需要一些示例代码或方向或链接。

提前致谢。

3 个答案:

答案 0 :(得分:14)

在你的viewcontroller上按钮动作写下这段代码:

- (IBAction)openAllRhymes:(id)sender{
    UIButton *button = (UIButton*)sender;

    PopupTableView *tableViewController = [[PopupTableView alloc] initWithStyle:UITableViewStylePlain];


    popover = [[UIPopoverController alloc] initWithContentViewController:tableViewController];
    [popover presentPopoverFromRect:CGRectMake(button.frame.size.width / 2, button.frame.size.height / 1, 1, 1) inView:button permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];

    [tableViewController release];
}

现在,您已在tableviewcontroller中创建了一个用于popover的tableview:

self.clearsSelectionOnViewWillAppear = NO;
self.contentSizeForViewInPopover = CGSizeMake(108,400);

答案 1 :(得分:3)

阅读documentation,它就在那里。如果您不理解它,请从iOS开发中的常规tutorials开始,或者具体询问您不理解的部分。在使用弹出窗口之前,您需要充分了解视图控制器的工作方式。 View Controller Programming Guide还有一个专门针对弹出窗口的部分。

答案 2 :(得分:2)

  TAableViewController *tableViewController = [[[TAableViewController alloc] initWithNibName:@"TAableViewController" bundle:[NSBundle mainBundle]] autorelease];
    UINavigationController *nav = [[UINavigationController alloc]
                                   initWithRootViewController:tableViewController];


    UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController:nav];
    [nav release];
    popover.delegate = self;
    popover.popoverContentSize = CGSizeMake(320, 497);
    [popover presentPopoverFromRect:button.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];

这里: -

1)TAbleViewController具有您要加载的表。 2)我将此添加到导航控制器 3)导航控制器到popover