Ipad popover中的表视图

Ipad popover中的表视图,ipad,uipopovercontroller,Ipad,Uipopovercontroller,我们如何在ipad的popover中实现表视图。我必须在我的工具栏上给一个按钮,点击一个弹出窗口应该显示一个4行的表格视图。有人能帮我吗 非常感谢,我已经为表选择了DSVIEWCONTROLLER类。为了显示这一点,我使用: ChooseAdsViewController* adsController = [[ChooseAdsViewController alloc] initWithStyle:UITableViewStyleGrouped]; adsController.images =

我们如何在ipad的popover中实现表视图。我必须在我的工具栏上给一个按钮,点击一个弹出窗口应该显示一个4行的表格视图。有人能帮我吗


非常感谢,我已经为表选择了DSVIEWCONTROLLER类。为了显示这一点,我使用:

ChooseAdsViewController* adsController = [[ChooseAdsViewController alloc] initWithStyle:UITableViewStyleGrouped];
adsController.images = m_images;
UINavigationController* navController = [[UINavigationController alloc] initWithRootViewController:adsController]; 
UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController:navController];
[popover setPopoverContentSize:CGSizeMake(320, 560)];
self.popoverController = popover;          
popoverController.delegate = self;
[popoverController presentPopoverFromRect:sender.frame
                                   inView:self.scrollView
                 permittedArrowDirections:UIPopoverArrowDirectionAny
                                 animated:YES];
[popover release];
[navController release];
[adsController release];

通常不需要导航控制器。

我已为表选择了DSViewController类。为了显示这一点,我使用:

ChooseAdsViewController* adsController = [[ChooseAdsViewController alloc] initWithStyle:UITableViewStyleGrouped];
adsController.images = m_images;
UINavigationController* navController = [[UINavigationController alloc] initWithRootViewController:adsController]; 
UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController:navController];
[popover setPopoverContentSize:CGSizeMake(320, 560)];
self.popoverController = popover;          
popoverController.delegate = self;
[popoverController presentPopoverFromRect:sender.frame
                                   inView:self.scrollView
                 permittedArrowDirections:UIPopoverArrowDirectionAny
                                 animated:YES];
[popover release];
[navController release];
[adsController release];

通常不需要导航控制器。

您只需要添加tableview作为popover viewController的视图

  PopViewController *popViewController = [[popViewController alloc] 
                                         initWithNibName:@"PopViewController" 
                                          bundle:[NSBundle mainBundle]]; 

  UITableView *tableView = [[UITableView aloc]initWithStyle:UITableViewStyle...];
  //Remember to set the table view delegate and data provider

  popViewController.view = tableView;//OR [popViewController.view addSubView:tableView]

  UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController:popViewController]; 
另一种方法是将popover viewController设置为TableViewController

  PopViewController *popViewController = [[popViewController alloc] 
                                         initWithNibName:@"PopViewController" 
                                          bundle:[NSBundle mainBundle]]; 

  UITableView *tableView = [[UITableView aloc]initWithStyle:UITableViewStyle...];
  //Remember to set the table view delegate and data provider

  popViewController.view = tableView;//OR [popViewController.view addSubView:tableView]

  UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController:popViewController]; 

希望它有帮助

您只需要添加tableview作为popover viewController的视图

  PopViewController *popViewController = [[popViewController alloc] 
                                         initWithNibName:@"PopViewController" 
                                          bundle:[NSBundle mainBundle]]; 

  UITableView *tableView = [[UITableView aloc]initWithStyle:UITableViewStyle...];
  //Remember to set the table view delegate and data provider

  popViewController.view = tableView;//OR [popViewController.view addSubView:tableView]

  UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController:popViewController]; 
另一种方法是将popover viewController设置为TableViewController

  PopViewController *popViewController = [[popViewController alloc] 
                                         initWithNibName:@"PopViewController" 
                                          bundle:[NSBundle mainBundle]]; 

  UITableView *tableView = [[UITableView aloc]initWithStyle:UITableViewStyle...];
  //Remember to set the table view delegate and data provider

  popViewController.view = tableView;//OR [popViewController.view addSubView:tableView]

  UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController:popViewController]; 

希望对您有所帮助

您可以使用下面给出的代码

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{

    return [recipe.ingredients count];
}

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return [recipe.ingredients count];
}

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *TableIdentifier=@"Cell";

    UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:TableIdentifier];
    if (cell==nil) {
        cell=[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:TableIdentifier];
    }
    cell.textLabel.text=[recipe.ingredients objectAtIndex:indexPath.row];
    [cell setSelectionStyle:UITableViewCellSelectionStyleNone];
     cell.textLabel.textColor=[UIColor blackColor];
cell.textLabel.font=[UIFont fontWithName:@"Helvetica" size:18];

return cell;
首先,您必须创建一个tableView。为此,请使用下面给定的代码

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{

    return [recipe.ingredients count];
}

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return [recipe.ingredients count];
}

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *TableIdentifier=@"Cell";

    UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:TableIdentifier];
    if (cell==nil) {
        cell=[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:TableIdentifier];
    }
    cell.textLabel.text=[recipe.ingredients objectAtIndex:indexPath.row];
    [cell setSelectionStyle:UITableViewCellSelectionStyleNone];
     cell.textLabel.textColor=[UIColor blackColor];
cell.textLabel.font=[UIFont fontWithName:@"Helvetica" size:18];

return cell;
}

然后添加按钮单击的方法

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

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

    popoverView.backgroundColor=[UIColor whiteColor];

    popoverContent.view=popoverView;
    popoverContent.contentSizeForViewInPopover=CGSizeMake(200, 420);
    popoverContent.view=tableView; //Adding tableView to popover
    tableView.delegate=self;
    tableView.dataSource=self;

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

}您可以使用下面给定的代码

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{

    return [recipe.ingredients count];
}

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return [recipe.ingredients count];
}

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *TableIdentifier=@"Cell";

    UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:TableIdentifier];
    if (cell==nil) {
        cell=[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:TableIdentifier];
    }
    cell.textLabel.text=[recipe.ingredients objectAtIndex:indexPath.row];
    [cell setSelectionStyle:UITableViewCellSelectionStyleNone];
     cell.textLabel.textColor=[UIColor blackColor];
cell.textLabel.font=[UIFont fontWithName:@"Helvetica" size:18];

return cell;
首先,您必须创建一个tableView。为此,请使用下面给定的代码

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{

    return [recipe.ingredients count];
}

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return [recipe.ingredients count];
}

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *TableIdentifier=@"Cell";

    UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:TableIdentifier];
    if (cell==nil) {
        cell=[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:TableIdentifier];
    }
    cell.textLabel.text=[recipe.ingredients objectAtIndex:indexPath.row];
    [cell setSelectionStyle:UITableViewCellSelectionStyleNone];
     cell.textLabel.textColor=[UIColor blackColor];
cell.textLabel.font=[UIFont fontWithName:@"Helvetica" size:18];

return cell;
}

然后添加按钮单击的方法

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

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

    popoverView.backgroundColor=[UIColor whiteColor];

    popoverContent.view=popoverView;
    popoverContent.contentSizeForViewInPopover=CGSizeMake(200, 420);
    popoverContent.view=tableView; //Adding tableView to popover
    tableView.delegate=self;
    tableView.dataSource=self;

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