使用父视图类不工作的现有模态视图控制器

时间:2013-07-25 10:40:18

标签: iphone

我想去主视窗控制器。实际上我创建了三个视图,即条形图视图,饼图视图,网格视图。

对于这3个视图,父控件是条形图视图。

实际上我正在向gridview获取另一个reportgrid类的数据。

这里parentview是gridview。我将在tableview中显示网格信息。

当我点击tableview它会从reportgrid重新加载到gridview。

但是网格视图如何实现3类父项的现有模态是条形图。在我的所有控制器的应用程序中,父视图是主视图。在我的应用程序中,我没有使用导航控制器。

我使用了一种用户定义的方法。

reportgrid.m

#pragma mark - Button Click

-(void)btnClicked:(UIButton *)sender
{
    [self.mainviewcont click:sender];
}

网格视图.m for i pad

-(void)click:(UIButton *)sender
{
    [Database_operations setRetailerId:AccountNumber];
    [Database_operations setDate:[dateArray objectAtIndex:[[sender superview] tag]]];

    if (report) 
    {
        [Database_operations removeallsubviews:report.view];
        report=nil;
    }
     *popup;
reportsubview *report;
    if (reportPop) 
    {
        [reportPop dismissPopoverAnimated:YES];
        reportPop=nil;
    }
    report=[[ReportSubView alloc] initWithNibName:@"ReportSubView" bundle:[NSBundle mainBundle]];
    report.view.frame=CGRectMake(0, 0, 900, 700);
    reportPop=[[UIPopoverController alloc] initWithContentViewController:report];
    report.popover=reportPop;
    reportPop.delegate=report;
    reportPop.popoverContentSize=CGSizeMake(900, 700);
    [reportPop presentPopoverFromRect:CGRectMake(self.view.center.x, self.view.center.y, sender.frame.size.width, sender.frame.size.height) inView:sender.superview permittedArrowDirections:nil animated:YES];
}

for iphone app如何实现现有的模态视图控制器

1 个答案:

答案 0 :(得分:0)

目前在iOS 6中不推荐使用模态视图控制器,您可以尝试更好 的 presentViewController

使用

现在的模态视图控制器

 if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
    [self presentModalViewController:viewController animated:NO];        
}

presentviewcontroller

 if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
  [self presentViewController:presentModalViewController:viewController animated:YES completion:NULL];
}
在您的代码中

尝试此点击方法

-(void)click:(UIButton *)sender
{
      if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {

    [Database_operations setRetailerId:AccountNumber];
    [Database_operations setDate:[dateArray objectAtIndex:[[sender superview] tag]]];

    if (report) 
    {
        [Database_operations removeallsubviews:report.view];
        report=nil;
    }



    reportsubview *repor=[[ReportSubView alloc] initWithNibName:@"ReportSubView" bundle:[NSBundle mainBundle]];
    report.view.frame=[[UIScreen mainScreen] bounds]];
  [self presentViewController:report animated:YES completion:NULL];
}
}