0

我是一名新手 Ios 开发人员,这是我的第一个特定于 ipad 的项目。我在UIPopOverControl类实现方面遇到了一些问题。在我的项目中,我有一个View controller子类,在那个视图中我有几个按钮。我需要做的是在按下按钮后显示一个带有类UIPopOvercontrol的弹出窗口。弹出窗口中显示的数据对于点击不同的按钮会有所不同,并且所有数据都将以UITableView样式呈现。我已经能够使用一个UIViewControllerUITableViewController子类显示一个按钮和一个 popOver 并从 nib 文件加载数据。但是我怎样才能执行我想要的任务呢?

提前致谢

4

3 回答 3

1

iOS 故意限制一次只能看到一个 Popover。该 API 本质上旨在防止同时打开多个。您将需要考虑满足您要求的替代方法。

于 2013-08-02T06:36:54.660 回答
1

在您的应用程序中,不需要使用 multiple UIPopoverViewController,您也可以使用 single 来做到这一点UIPopoverViewController

简单地创建新的类UIPopoverViewController;并UITableViewUIPopoverViewController.

在您的应用程序中,您有多个UIButton,只需给出tag每个按钮并传递您的数据基于tag按钮,并在UITableView.

于 2013-08-02T06:38:40.707 回答
0

我已经在这里完成了要求。看一下这个。它肯定会帮助你。同时显示 2 个 popViewController 和两者中不同数据的代码

您可以在 AppDelegate 中设置一个变量来检查按下了哪个按钮?然后,在控制器的 viewWillAppear 中,获取该变量的引用并检查按下了哪个按钮?

然后根据 cellForRowAtIndexPath 中的要求重新加载数据。

希望这可以帮助

AppDelegate.h

@interface AppDelegate : UIResponder

@property int buttonPressed; // 在点击任意按钮时设置

@结尾

你的控制器.h

int buttonPressed;

你的控制器.m

  • (void) viewWillAppear:(BOOL)动画

{

AppDelegate *app = (AppDelegate *) [[UIApplication sharedApplication] delegate];

buttonPressed = app.buttonPressed;

}

  • (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

{

if (buttonPressed == 1) { // 这样做}

else if (buttonPressed == 1) { // 这样做}

else  // do this

}

于 2013-08-02T07:01:55.817 回答