Xcode 我在根视图类中有一个表视图,我想在用户单击单元格时显示一个模式视图

Xcode 我在根视图类中有一个表视图,我想在用户单击单元格时显示一个模式视图,xcode,ipad,uitableview,presentmodalviewcontroller,Xcode,Ipad,Uitableview,Presentmodalviewcontroller,“我的表视图”数据源和委托被设置为另一个类(tableModule)。现在,我编写了以下代码来显示模态视图: NewRule *newRuleModalView = [[NewRule alloc] init]; newRuleModalView.modalPresentationStyle = UIModalPresentationFullScreen; newRuleModalView.modalTransitionStyle = UIModalTransitionStyleCov

“我的表视图”数据源和委托被设置为另一个类(tableModule)。现在,我编写了以下代码来显示模态视图:

    NewRule *newRuleModalView = [[NewRule alloc] init]; 
newRuleModalView.modalPresentationStyle = UIModalPresentationFullScreen;
newRuleModalView.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
[self presentModalViewController:newRuleModalView animated:YES];
newRuleModalView.view.superview.frame = CGRectMake(0, 0, 750, 1004);
[newRuleModalView release];
这个代码对我不起作用。 然后我将tableview数据源和委托设置为self。然后同样的代码对我有效。 在第一种情况下如何使用它?
请帮帮我,我是这个领域的新手。

如果您的
tableModule
类不是视图控制器,并且(我认为)不是当前可见的视图控制器,那么您不能在其上调用
presentModalViewController:
。如果已将此代码放入视图控制器中的
didSelectRowAtIndexPath:
,并且视图控制器不是表视图的委托,则永远不会调用它

如果要保留一个单独的对象作为表视图的委托和数据源,表视图的委托(
tableModule
)需要有一个指向视图控制器的指针,以便它可以告诉视图控制器显示模式视图

您是否可以将数据源设置为
tableModule
并将委托设置为视图控制器,或者是否需要
tableModule
中的信息来实现委托方法

根据您的评论,您需要以下信息:

  • tableModule
    上创建
    rootViewController
    类型的属性
  • 创建
    tableModule
    时,设置
    tableModule.rootViewController=self
  • 在did select row方法中,不要使用
    [self-presentModal…
    ,而是使用
    [self.rootViewController-presentModal…

上面的代码在哪里?它在哪个方法和类中?您通常不会手动调用
viewdideappear
。我在tableView中编写了上面的代码:didselectRowatinedxpath根视图类也是rootViewController类。我使用rootViewController的xib显示tableView。tableModule是另一个类,我使用了这个类作为tableView的数据源和委托。NewRule是第三个类,这是我要显示为模式视图的类。请帮助我…我在rootViewController的viewDidLoadtableModule*tm=[tableModule alloc]init];[displayTableView setDelegate:tm]中编写了以下代码;[displayTableView setDatasource:tm];我的tableModule类是UITableViewController的一个子类。好吧,但是如果
tableModule
在屏幕上没有显示或不可见,我想你不能要求它显示一个模态视图控制器。这似乎是一个复杂的结构-为什么
tableModule
不是你的根视图控制器?我明白,但我如何显示mo从did选择的dal视图?