Я новичок на этом, как название, хотело бы реализовать собственные перетащить & падения UITableView
, в то время как каждый UITableViewCell
содержания (cell.content?) Будет содержит пользовательские UIView
, Например. Row1-cell-CustomUIView1, Row2-cell-CustomUIView2. Какой пользовательский номер UIView
добавлен к тому, какая строка основана на выборе пользователя в этой строке и нажатии кнопки. Теперь представьте, что у вас есть 4 пользовательских UIViews
, то есть добавляется в 4 строки/ячейки в UITableView
и как я могу реализовать перетаскивание этих CustomUIView
? Обратите внимание: каждый пользовательский UIView может не совпадать с типичной ячейкой таблицы. то есть пользовательский формат/дизайн UIView1 отличается от пользовательского UIView2
. Реализовать в быстрой, Любая идея?Перетаскивание UITableViewCell, который содержит пользовательские UIView в cell.content
1
A
ответ
1
Это может помочь у ...
var draggableImage : UIImageView! var mainImgView : UIImageView! var trashImgView : UIImageView! var dragStartPositionRelativeToCenter : CGPoint?
добавить UIPanGestureRecognizer в mainImgView обрабатывать увлекая;
var panGesture : UIPanGestureRecognizer!
panGesture = UIPanGestureRecognizer(target: self, action: "handleDrag:")
mainImgView.addGestureRecognizer(panGesture)
func handleDrag(nizer: UIPanGestureRecognizer!) {
if nizer.state == UIGestureRecognizerState.Began {
self.draggableImage = UIImageView(image: mainImgView.image)
self.draggableImage.frame = CGRectMake(0, 0, 100, 100)
self.draggableImage.center = mainImgView.center
self.draggableImage.contentMode = .ScaleAspectFit
self.draggableImage.userInteractionEnabled = true
self.draggableImage.alpha = 0.5
self.view.addSubview(self.draggableImage)
self.view.bringSubviewToFront(sself.draggableImage)
let locationInView = nizer.locationInView(self.draggableImage.superview)
dragStartPositionRelativeToCenter = CGPoint(x: locationInView.x - self.draggableImage.center.x, y: locationInView.y - self.draggableImage.center.y)
self.draggableImage.layer.shadowOffset = CGSize(width: 0, height: 20)
self.draggableImage.layer.shadowOpacity = 0.3
self.draggableImage.layer.shadowRadius = 6
return
}
if nizer.state == UIGestureRecognizerState.Changed {
let locationInView = nizer.locationInView(self.draggableImage.superview)
UIView.animateWithDuration(0.1) {
self.draggableImage.center = CGPoint(x: locationInView.x - self.dragStartPositionRelativeToCenter!.x,
y: locationInView.y - self.dragStartPositionRelativeToCenter!.y)
}
var checkAddToBag : Bool = CGRectContainsRect(self.draggableImage.frame, self.trashImgView.frame)
if (checkAddToBag == true){
self.trashImgView.layer.borderColor = UIColor.redColor().CGColor
self.trashImgView.layer.borderWidth = 1.0
}else{
self.trashImgView.layer.borderColor = UIColor.clearColor().CGColor
self.trashImgView.layer.borderWidth = 0.0
}
return
}
if nizer.state == UIGestureRecognizerState.Ended {
var checkAddToBag : Bool = CGRectContainsRect(self.draggableImage.frame, self.trashImgView.frame)
self.trashImgView.layer.borderColor = UIColor.clearColor().CGColor
self.trashImgView.layer.borderWidth = 0.0
dragStartPositionRelativeToCenter = nil
self.draggableImage.removeFromSuperview()
self.draggableImage = nil
return
}
}
Смежные вопросы
- 1. Получить пользовательские UITableViewCell, который содержит UIButton нажимается
- 2. перетаскивание изображений, помещенных в UItableViewCell, в другой uitableviewcell в iphone
- 3. Загрузка UIView в UITableViewCell
- 4. Пользовательский UIView в UITableViewCell
- 5. пользовательские перетаскивание
- 6. Прокрутите до UITableViewCell, который содержит определенный UITextField
- 7. Скрыть UITableviewcell, который содержит UITextview (Autolayout)
- 8. Как ссылаться UIView, который находится внутри UITableViewCell
- 9. пользовательских UIView в UITableViewCell Выпуск
- 10. Скользящий UIView в UITableViewCell
- 11. Внедрение UIView в UITableViewCell
- 12. Подчеркивание UITableViewCell охватывает UIView
- 13. touchsBegan в пользовательских UITableViewCell, touchhesed в UIView
- 14. UIView animation внутри UITableViewCell
- 15. Пользовательские UITableViewCell несколько разделов
- 16. Подкласса UIView в UITableViewCell от NIB
- 17. Отобразить UIView в UITableViewCell прагматично
- 18. фильтровать NSArray, который содержит пользовательские объекты
- 19. Пользовательский рисунок UIView внутри UITableViewCell
- 20. Как сделать перетаскивание UIView замедляющим?
- 21. Переход UIView внутри uitableviewcell
- 22. Добавить градиент UIView в UITableViewCell
- 23. Как добавить uiview в uitableviewcell
- 24. Перетаскивание UIView, созданного после touchhesBegan
- 25. Содержит UIViewController в UIView
- 26. Пользовательские позиции UITableViewCell
- 27. Пользовательские закругленные углы на UIView
- 28. Пользовательские настройки ширины UITableViewCell
- 29. Пользовательские UITableViewCell и IBAction
- 30. Пользовательские данные UITableViewCell
Спасибо за быстрый ответ Mee. Получил пару вопросов, будет ли это также применяться, если каждый пользовательский UIViews с разной высотой? (ширина должна быть одинаковой для каждого пользовательского UIView в каждой строке). Во-вторых, если каждый из этих пользовательских UIView доступен для редактирования (например, пользовательский UIView в ячейке, возможно, содержит текстовое поле и может снимать изображение/загружать в него изображение), он все равно может перемещаться, я полагаю, будет ли порядок строк/списков таблиц поддерживать? Как данные в каждом пользовательском UIView должны храниться в таком случае? – eyc
Если я не очень четко излагаю, все это точно так же, как приложение «Напоминание» в iphone, (1), которое может добавлять новые/добавлять новый на нижний, один за другим по запросу, (2) возможность удаления по запросу и (3) возможность перетаскивания (4) сохранить/сохранить измененный порядок для последующего использования должным образом. – eyc