2017-02-20 55 views
0

Здесь я вид, как этот рис A, B был addSubView на C, C добавить подвид в View D ViewController, я переопределить D Функции TouchCH ViewController (например, touchhesBegan ..), и сначала я касаюсь Area A и сохраняю этот touchEvent, Затем запустите другое касание в области B, Но странно, что я не могу получить никаких новых событий, когда я касаюсь B Area (и C Area) Я предполагаю, что когда iOS отправляет touchEvents, он может сначала сравнить два родительских представления View (здесь A, B и C). Тогда в этом представлении новый touchEvent будет проигнорирован?IOS не удалось получить новый TouchEvent, когда сенсорный два вида с одного родительского зрения при том же ViewController

Итак, вопрос в том, был ли я неправ в вопросе, или есть ли какой-нибудь трюк или какой-то способ взлома сделать этот TouchEvent?

Обновления: Я обнаружил, что множество А & B UIImageView в моей первоначальной реализации, поэтому возникает этот вопрос, если А & B является UIView, то не этот вопрос ...

+0

Я Ждут» t правильно задайте вопрос :-(. U касаются «A» и не удаляют ур-пальца, касаясь «B», другим пальцем, а событие «В» не распознается событие касания? – Koushik

ответ

0

Что вы в настоящее время сделать захват касаний D, а не A. Если вы не зафиксируете событие касания A, то оно перейдет к подзону C, а так как C не зафиксирует событие касания, оно перейдет к D. Когда вы коснетесь B, без захвата B касание, вы на самом деле снова касаетесь D.

Для захвата нескольких касаний D вам нужен мультитач распознаватель жестов или включение мульти касание D-представления.

0

Если какой-либо другой столкнулся с подобными проблемами, тогда вы можете использовать некоторый элемент управления, а не UIView (здесь UIImageView), а затем просто замените его на UIView. Если потребности в фоновое изображение UIImageView, как мне тогда просто добавить расширение к UIView

extension UIView{ 

    func setBackgroundImage(img: UIImage){ 

     UIGraphicsBeginImageContext(self.frame.size) 
     img.draw(in: self.bounds) 
     if let image = UIGraphicsGetImageFromCurrentImageContext() { 
      UIGraphicsEndImageContext() 
      self.backgroundColor = UIColor(patternImage: image) 
     }else { 
      UIGraphicsEndImageContext() 
     } 
    } 
} 

PS: Я все еще не могу настроить его, почему IOS сделать это вещь 4 меня :(