0

我创建了一个弹出框,它向我展示了我的应用内购买项目列表。我有 Ray Wenderlich 教程使用的实现类。但肯定有问题。我的问题是:

  1. Popover 以最大高度显示。(我不希望它以 iPad 的 MAX 高度显示)
  2. 如果我通过单击其他位置关闭弹出框,然后再次单击按钮以显示弹出框,它会打开弹出框但不会在其中加载视图。

请帮助我真正感到困惑/问题的人。

4

2 回答 2

1

我正在从 SearchDelivery.xib 中显示 popOverViewController,其中包含 tableView 和搜索栏。在其他 .xib 文件中,我在按钮单击代码上显示了弹出框,它可以帮助您。

-(IBAction)deliveryList:(UIButton*)sender
{
SearchDelivery *searchDel1=[[SearchDelivery alloc]initWithNibName:@"SearchDelivery" bundle:nil];

[searchDel1 loadDelAdd:self.arr];
self.searchDel=searchDel1;
[searchDel1 release];

UIPopoverController *popover=[[UIPopoverController alloc]initWithContentViewController:searchDel];
popover.delegate=self;

CGRect rect=searchDel.view.frame;
popover.popoverContentSize=rect.size;

self.popOverController=popover;
[popover release];

[popOverController presentPopoverFromRect:self.view.frame inView:self.view permittedArrowDirections:0 animated:YES];

}

popoverContentSize 属性用于设置 popOverView 的宽度和高度。

于 2012-07-12T06:08:49.320 回答
0

试试下面给定的代码

    -(IBAction)setData1:(id)sender
{
    UIViewController *popoverContent=[[UIViewController alloc] init];
    UITableView *tableView1=[[UITableView alloc] initWithFrame:CGRectMake(265, 680, 0, 0)   style:UITableViewStylePlain];

    UIView *popoverView=[[UIView alloc] initWithFrame:CGRectMake(0, 0, 500, 300)];

    popoverView.backgroundColor=[UIColor whiteColor];

    popoverContent.view=popoverView;
    popoverContent.contentSizeForViewInPopover=CGSizeMake(200, 420);
    popoverContent.view=tableView1;   //Use this if you like to add a tableView in popover
    tableView1.delegate=self;
    tableView1.dataSource=self;

    self.popoverController=[[UIPopoverController alloc] initWithContentViewController:popoverContent];
    [self.popoverController presentPopoverFromRect:CGRectMake(400, 675, 1000, 1000) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionDown animated:YES];

}

于 2013-03-15T04:17:27.683 回答