Оператор 'is' ведет себя неожиданно с не кэшированными целыми числами

** Обновлено до Swift 4 и Xcode 9 (8 октября 2017 г.) **

Прежде всего, не забудьте включить события с несколькими касаниями, установив

self.view.isMultipleTouchEnabled = true

в ваш код UIViewController или с помощью соответствующей опции раскадровки в Xcode:

В противном случае вы всегда получите одно касание в touchesBegan ( см. документацию здесь ).

Затем внутри touchesBegan перебираем множество касаний, чтобы получить их координаты:

override func touchesBegan(_ touches: Set, with event: UIEvent?) {
    for touch in touches {
        let location = touch.location(in: self.view)
        print(location)
    }
}

41
задан Jim Fasarakis Hilliard 26 August 2017 в 11:00
поделиться