Я не вижу прямого способа вызова при изменении выбранной страницы.Вы можете добавить код в методе setViewControllers(_:direction:animated:completion:)
контроллера представления страницы, который определяет, какая страница активна и воспроизводит соответствующий звук.
Если вы используете элемент управления страницей, вы, вероятно, также можете создать подкласс UIPageControl и использовать didSet наcurrentPage
свойство, чтобы определить, какой звук воспроизводить.
Редактировать:
Просто добавьте новый файл, сделайте его классом касания Cocoa и сделайте его подклассом UIPageControl
.Назовите это CustomPageControl
.Тогда ваша реализация может быть такой простой:
import UIKit
class CustomPageControl: UIPageControl {
override var currentPage: Int {
didSet {
//Your code to play sounds based on selected index could go
//here, or broadcast a notification that your view controller
//would listen for
print("New page index = \(currentPage)")
}
}
}
Затем просто выберите элемент управления страницей в вашем UIPageViewController, выберите «Identity Inspector» и измените классуправление страницей в ваш пользовательский класс CustomPageControl
.После того, как вы это сделаете, при каждом изменении индекса страницы будет вызываться метод didSet, описанный выше.