특정 위치에 도달하면 하위 뷰를 드래그 앤 삭제하는 방법을 찾으려고합니다. 내가 지금까지 가지고있는 것은 몇 개의 하위 뷰를 추가하는 뷰 컨트롤러입니다. 내 하위 뷰 클래스는 회전 가능하고 크기를 재조정 할 수 있으며 뷰 컨트롤러에서 이동할 수 있습니다. 내가보기 컨트롤러의 상단 중앙에 하위 뷰를 이동하고 삭제하고 싶다고합시다. 부모보기 컨트롤러가 하위보기의 위치를 알고 삭제를 수행하는 방법은 무엇입니까? 또 다른 문제는 모든 하위 뷰가 동일한 사용자 지정 클래스에서 생성된다는 것입니다. 어떤 하위 뷰를 삭제해야하는지 정의해야합니까? 미리 감사드립니다.특정 위치에서 삭제할 신속하게 하위 뷰 드래그
답변
당신은 새로운 위치가 삭제 영역으로 이동합니다 있는지 확인하기 위해 CGRect.intersects을보기를 이동하려면 UIPanGestureRecognizer을 사용할 수 있습니다 (당신이 삭제 영역 내부에 완전히 것을 요구하려는 경우 대신 contains 사용) :
@IBAction func pan(_ recognizer: UIPanGestureRecognizer) {
let translation = recognizer.translation(in: self.view)
centerXConstraint.constant += translation.x
centerYConstraint.constant += translation.y
viewToMove.offset.x += translation.x
viewToMove.offset.y += translation.y
if viewToMove.frame.intersects(deletionRect) {
//Delete logic here
} else {
viewToMove.setNeedsDisplay()
recognizer.setTranslation(.zero, in: self.view)
}
}
여러 뷰가있는 경우 UIView.tag 또는 Set 중 하나를 사용하여 어떤 뷰인지 파악할 수 있습니다.
제안 해 주셔서 감사합니다. 이 제스처는 서브 뷰 또는 컨트롤러에서 구현되어야합니다. 내 하위 클래스에 UIPanGestureRecognizer를 사용하기 때문에. – axel
사실 나는 여전히 viewController에 구현하고 뷰 배열을 사용합니다. 이 경우 팬 제스처 인식기를 기본보기에 놓고 동작을 인식하면 배열을 검사하여 views.first {$ 0.frame.contains (point)}를 시작하여 처음 만난보기를 얻습니다. 이렇게하면 하위 클래스와 프로토콜이 필요 없습니다. –
- 1. 뷰 내에서 뷰 드래그
- 2. 드래그 작업을 중단하는 NSView 하위 뷰
- 3. UIScrollView의 특정 위치에서 시작
- 4. 특정 UIDatePicker 하위 뷰 제거
- 5. 특정 위치에서 이미지보기 시작
- 6. 파일의 특정 위치에서 문자열 삭제
- 7. 여러 위치에서 같은 TableView를 신속하게 3
- 8. 신속하게 뷰 컨트롤러를 인스턴스화하고로드하는 방법
- 9. UIPanGestureRecognizer를 사용하여보기를 한 위치에서 제한된 위치로 드래그
- 10. 안드로이드 드래그/뷰 애니메이션
- 11. RelativeLayout 외부 뷰 드래그
- 12. ScrollView에서 자유롭게 뷰 드래그
- 13. 이미지 뷰 드래그
- 14. 특정 위치에서 Eclipse RCP 열린보기
- 15. NSView : 수퍼 뷰에서 다른 NSView로 하위 뷰 드래그
- 16. 사용자 정의 만든 슬라이더를 신속하게 드래그
- 17. 특정 개체 드래그
- 18. 특정 위치에서 % 문자 % 검색
- 19. fs.createReadStream() 파일의 특정 위치에서
- 20. 특정 위치에서 업로드 찾아보기
- 21. 특정 위치에서 요소 제거
- 22. mediaelementplayer 특정 위치에서 재생
- 23. 특정 위치에서 CATransition 시작
- 24. UISwipeGestureRecognizer 특정 위치에서
- 25. 특정 위치에서 비디오 재생
- 26. Phonegap- 특정 위치에서 이미지로드
- 27. 애니메이션/효과와 함께 위치에서 이미지 드래그/드롭
- 28. jQuery ui 마우스 위치에서 드래그 앤 드롭
- 29. 하위 뷰
- 30. 하위 뷰
[this] (https://github.com/antonio081014/TouchDemo)를 확인하십시오. 중복 된 WWDC 데모입니다. 도움이 될 것입니다. – antonio081014
정말 고맙습니다. 나는 그것을 시도 할 것이다. – axel