Tôi có hai UIImageViews, một trong số đó đang di chuyển từ trái sang phải, một trong số đó là cảm ứng có thể kéo được. iI muốn NSLog hiển thị thông báo trên bảng điều khiển bất cứ khi nào tưởng tượng chồng chéo lên ảnh. Làm thế nào để tôi làm điều này?Tôi làm cách nào để phát hiện bất cứ khi nào hai UIImageView trùng lặp?
5
A
Trả lời
11
Bạn có thể sử dụng chức năng CGRectIntersectsRect
để dễ dàng kiểm tra giao điểm hình chữ nhật, với điều kiện UIImageViews chia sẻ cùng một superview (chính xác hơn, có cùng một không gian tọa độ).
Có khả năng bạn sẽ cần phải thêm mã như sau:
-(void) touchesEnded:(NSSet *) touches {
if(CGRectIntersectsRect([imageViewA frame], [imageViewB frame])) {
NSLog(@"Do something.");
}
}
đến UIView nơi đặt máy chủ cả xem hình ảnh, hoặc một phương pháp tương tự được gọi là bất cứ khi nào kéo được hoàn tất.
0
Bạn có thể sử dụng:
CGRectIsNull (CGRectIntersection (view1.bounds, view2.bounds));
1
hãy thử một cái gì đó như thế này.
if (CGRectContainsRect([myImageView1 frame], [myImageView2 frame])) {
NSLog(@"Overlaped, it's working!");
}
0
Trong Swift 3.0 đã trở thành ...
if (self.image2P.bounds.contains(self.image3P.bounds)) {
print("Overlaped, it's working!")
}
Các vấn đề liên quan
- 1. Cách phát hiện dữ liệu trùng lặp?
- 2. Phát hiện bất cứ khi nào ổ cắm bị ngắt kết nối bằng cách chọn()
- 3. Làm thế nào để phát hiện trùng lặp mã trong quá trình phát triển?
- 4. Làm cách nào để phát hiện các giá trị trùng lặp trong một mảng trong Ruby?
- 5. Làm thế nào để phát hiện các giá trị trùng lặp trong mảng PHP?
- 6. Tôi làm cách nào để lật UIImageView?
- 7. Làm cách nào để mở rộng UIImage mà không làm phẳng bất cứ thứ gì?
- 8. Làm cách nào để đặt cảnh báo trùng lặp?
- 9. Trình phát hiện mã trùng lặp Javascript?
- 10. Làm cách nào để tìm các kết quả trùng lặp trùng lặp với regexp?
- 11. Làm cách nào để tránh tiêu đề trùng lặp nội dung trùng lặp với MVC3 FileContentResult?
- 12. DLL trùng lặp trong thư mục "Phụ thuộc phát hiện"
- 13. Cách phát hiện hàng trùng lặp trong bảng SQL Server?
- 14. Làm cách nào để so sánh hai bảng và xóa các hàng trùng lặp trong SQL?
- 15. Statechange kích hoạt bất cứ khi nào tôi thực hiện trạng thái đẩy
- 16. Làm cách nào để bạn biết hai ký tự đại diện có trùng lặp không?
- 17. Làm cách nào để xóa các đối tượng trùng lặp khỏi hai ArrayLists riêng biệt?
- 18. Làm cách nào để ngăn các div này trùng lặp?
- 19. Phát hiện trùng lặp trong Hàng đợi lưu trữ Azure
- 20. Thuật toán phát hiện hình ảnh trùng lặp?
- 21. Làm cách nào để loại bỏ mã trùng lặp?
- 22. Tôi làm cách nào để dệt và khử trùng html?
- 23. Bất cứ điều gì sau khi DOS FOR/F vòng lặp không thực hiện
- 24. Kích hoạt bản âm thanh HTML5 để phát bất cứ khi nào nó đã tải
- 25. Tôi làm cách nào để phát hiện onKeyUp trong AngularJS?
- 26. Tôi làm cách nào để tự động phát hiện proxy?
- 27. Làm cách nào để phát hiện phím shift + trong javascript?
- 28. Công cụ phát hiện mã trùng lặp (Java)
- 29. làm thế nào để lười biếng bất cứ điều gì
- 30. Tôi làm cách nào để phát hiện ANT?
này đã làm các trick, cảm ơn bạn rất nhiều! – John
Nếu chúng không chia sẻ cùng một không gian tọa độ: 'BOOL intersects = CGRectIntersectRect (viewA.bounds, [viewA convertRect: viewB.bounds fromView: viewB])' – nielsbot