Ios 当以模式显示viewcontroller时,用户可以滚动

Ios 当以模式显示viewcontroller时,用户可以滚动,ios,objective-c,uitableview,segue,modalviewcontroller,Ios,Objective C,Uitableview,Segue,Modalviewcontroller,在我的应用程序中,有一个包含5个视图控制器的大滚动视图 有4个视图控制器以模态方式显示视图控制器 对于其中三个,当显示模式时,我无法滚动到其他视图控制器(这就是我想要的)。在这3个视图控制器中,当用户点击一个按钮时,我将显示模式 但是在第四个例子中,当用户点击UITableView中的单元格时,我会以模式显示视图控制器,当显示模式时,用户可以滚动到其他视图控制器。我不想这样,我怎么能阻止呢 唯一的区别是我的代码中有一个prepare for segue - (void)prepareForSeg

在我的应用程序中,有一个包含5个视图控制器的大滚动视图

有4个视图控制器以模态方式显示视图控制器

对于其中三个,当显示模式时,我无法滚动到其他视图控制器(这就是我想要的)。在这3个视图控制器中,当用户点击一个按钮时,我将显示模式

但是在第四个例子中,当用户点击UITableView中的单元格时,我会以模式显示视图控制器,当显示模式时,用户可以滚动到其他视图控制器。我不想这样,我怎么能阻止呢

唯一的区别是我的代码中有一个prepare for segue

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

    NSIndexPath *indexPath = [self.userTableView indexPathForCell:sender];

    GSBConversationViewController *destVC = [segue destinationViewController];
    GSBChatUsers *selectedUser =[chatUsers objectAtIndex:indexPath.row];

    NSString *userName = selectedUser.name;

    NSLog(@"User selected: %@", userName);
    destVC.title=userName;

}

上面的代码用于将单元格上显示的名称传输到模式视图控制器。

为了防止用户通过视图触摸,您可以在destVC类中添加:

- (void) viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
self.view.userInteractionEnabled = true;
}
或者,如果使用use.xib或storyboard,只需选择destVC视图并选中右栏上的
用户交互启用