Пользователь может прокручивать, когда viewcontroller представлен модально

В моем приложении есть большой scrollView, содержащий 5 контроллеров представления.

Есть 4 вида контроллеров, которые отображают модально вид контроллера

С тремя из них я не могу прокрутить на другие контроллеры представления, когда представлен модал (это то, что я хочу). В этих 3 контроллере представления, я представляю модальное, когда пользователь нажимает кнопку

Но в-четвертых, я отображаю контроллер вида модально, когда пользователь касается ячейки из UITableView, и когда отображается модал, пользователь может прокручивать другие контроллеры представления. Я не хочу, чтобы это произошло, как я могу это заблокировать?

Разница лишь в том, что в моем коде есть подготовка к переходу

- (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 ответ

Чтобы пользователь не мог касаться вида, вы можете добавить в свой класс destVC:

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

или, если вы используете.xib или раскадровку, просто выберите представление destVC и проверьте User Interaction Enabled в правом столбце

Другие вопросы по тегам