У меня есть ViewController, который определяет touchesMoved() для увеличения счетчика, как пользователь перетаскивает палец по экрану:touchhesMoved видел все контроллеры представлений в Swift?
override func touchesMoved(touches: Set<UITouch>, withEvent event: UIEvent?) {
numMoved += 1
print("Moved: \(numMoved)")
}
Когда пользователь переходит к другому контроллеру вида, который не имеет touchesMoved(), определенный, Я ожидаю, что ничего не произойдет. (Новый контроллер представления определен как класс OtherViewController, который наследуется непосредственно от UIViewController и поэтому не получает касаниеМодельное() переопределение, которое я определил для первого контроллера представления.)
Однако, нажав кнопку, которая приносит я к другому контроллеру представления, я все еще вижу напечатанные сообщения, то есть touchtsMoved() все еще вызывается, хотя я больше не на исходном контроллере представления, который отслеживает перетаскивание.
Я пропустил какую-то простую вещь, которая обеспечила бы, что переопределение касанияMoved() влияет только на ViewController, в котором он определен внутри?
Спасибо за любые идеи.
Что означает «идет к другому контроллеру представления»? Идет _how_? Я пытаюсь заставить вас указать отношения между ViewController и OtherViewController. – matt
Главный контроллер представления - это ViewController по умолчанию, а OtherViewController - это то, что я создал как подкласс UIViewController. Я поместил кнопку на ViewController, которая помечается в OtherViewController модально. Других отношений между двумя контроллерами представлений нет. – hitlad