当viewcontroller以模态方式呈现时,用户可以滚动

时间:2016-04-18 14:45:27

标签: ios objective-c uitableview segue modalviewcontroller

在我的应用中,有一个包含5个视图控制器的大型scrollView。

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

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

但是在第四个中,当用户从UITableView点击一个单元格时,我会以模态方式显示一个视图控制器,当显示模态时,用户可以滚动到其他视图控制器。我不希望这种情况发生,我怎么能阻止它呢?

唯一的区别是我的代码中有对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;

}

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

1 个答案:

答案 0 :(得分:0)

为防止用户触摸视图,您可以添加destVC类:

- (void) viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
self.view.userInteractionEnabled = true;
}

或者如果使用.xib或storyboard,只需选择destVC视图并选中右栏中的User Interaction Enabled