Ниже перечислены возможности исчезновения View Controller.
- Нажатие на кнопку (кроме backBarButtonItem ).
- Нажатие на backBarButtonItem
В любом случае будет вызван viewWillDisappear:
метод. Сохраняйте логический флаг . Давайте назовем это isAnyButtonClicked . И установите isAnyButtonClicked = YES
при каждом нажатии любой кнопки. Переопределите метод viewWillDisappear:
и воспроизведите звук, если не нажата ни одна кнопка (т. Е. isAnyButtonClicked == NO
). Вероятно, ваш viewWillDisappear:
будет выглядеть,
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
if (!isAnyButtonClicked) {
// Play sound
isAnyButtonClicked = NO;
}
}