Как пользователь нажимает на супервизор, я обнаруживаю его через UITapGestureRecognizer
и вызывая функцию внизу, чтобы создать вид UIImage
, добавить его в супервизор, добавить к нему гравитацию и позволить ему выпасть из супервизора.Как заставить несколько UIImages падать одновременно с гравитацией?
Проблема заключается в том, что если пользователь снова забирает, когда первый UIImage
все еще находится на экране, первое изображение останавливается на месте, а второе UIImage
начинает падать. Каков наилучший способ позволить нескольким UIImage
самостоятельно опускаться на экран.
Во-вторых, я чувствую, я должен быть удаление этих UIImage
из надтаблицы для экономии памяти (как там могут быть сотни кранов, но я не могу понять, как автоматически удалить UIImage
, как только он выходит из экрана.
Помощь в стриже пожалуйста.
func dropBall(tapLocation:CGPoint) {
let ball = UIImageView(image: UIImage(named: "White50.png"))
ball.frame = CGRect(origin: CGPoint(x:tapLocation.x-25,y:tapLocation.y-25), size: CGSize(width:50,height:50))
view.addSubview(ball)
animator = UIDynamicAnimator(referenceView: self.view)
gravity = UIGravityBehavior(items: [ball])
animator.addBehavior(gravity)
}
, перемещая «аниматора = .. .. "линия для просмотра действительно загрузилась, первая проблема решена, теперь все шары падают одновременно. Не могли бы вы объяснить, как добавить действие. – Kashif
, и это вызывает предупреждение: «Множественное поведение силы тяжести для каждого аниматора не определено и может утверждать в будущем» – Kashif
@ user4293473 Да, я просто это увидел. Поэтому добавьте гравитацию один раз, а затем просто добавьте элемент в массив 'items' гравитации. И определите «действие», которое удаляет элементы, когда «фрейм» элемента больше не пересекает «границы» своего «супервизора». См. Пересмотренный ответ. – Rob