2010-08-06 38 views
11

Tôi có một số UITableView là chế độ xem phụ của UIView, sau đó UIView là chế độ xem phụ của UIScrollView. Làm thế nào để phát hiện các chạm cần cuộn UITableView?Cuộn UITableView bên trong UIScrollView

UITableView có thể nhận các sự kiện chọn mục (ô trong bảng được chọn/nhấn) chỉ tốt, ngoại trừ việc bạn phải giữ trên ô trước khi nó kích hoạt. Nhưng tôi không thể có được UITableView để cuộn, luôn luôn là UIScrollView phản ứng với cử chỉ pan.

Bất kỳ trợ giúp nào được đánh giá cao. Cảm ơn trước!

EDIT: Giải quyết, mặc dù tôi đã đặt câu hỏi sai. Nó hoạt động theo mặc định như Roman K đã chỉ ra. Tôi nghĩ rằng vấn đề có liên quan đến việc có một phần của UITableView bên ngoài giới hạn của UIScrollView (số UITableView đã đi qua các giới hạn dưới cùng của UIScrollView). Đặt nó vào đúng vị trí bên trong số UIScrollView đã sửa nó.

+0

tôi muốn gợi ý câu trả lời này http://stackoverflow.com/questions/3422915/scrolling-a-uitableview-inside-a-uiscrollview/32486714#32486714 –

Trả lời

17

Vui lòng đảm bảo rằng UIScrollView's thuộc tính delaysContentTouchescanCancelContentTouches được đặt phù hợp. Họ kiểm soát cách UIScrollView thể hiện thông tin liên lạc đến các bản xem trước của nó. Theo mặc định, delaysContentTouches được đặt thành CÓ. Ngoài ra, hãy đảm bảo rằng, nếu bạn mở rộng UIScrollView, touchesShouldBegin:withEvent:inContentView: cho phép chạm vào trong chế độ xem phụ.

Nếu không, UITableView cuộn sẽ hoạt động theo mặc định trong trường hợp của bạn. Nếu bạn tạo một dự án thử nghiệm chỉ với hệ thống phân cấp khung nhìn như được mô tả, bạn sẽ thấy rằng đó là trường hợp. Vì vậy, so sánh hai và xem những gì khác biệt ảnh hưởng đến việc di chuyển.

+1

Tôi tin rằng tôi đặt delaysContentTouches (thiết lập để CÓ) và canCancelContentTouches (đặt thành NO) tốt. Tôi có thể nhận được vòi trong UITableView tốt, nhưng không phải là swipes và chảo. – Altealice

+0

Cảm ơn bạn. Đó là một nỗi đau quá lâu. – thedp

+3

Tôi nghĩ rằng logic này đã bị hỏng trong iOS8. Có vẻ như UIScrollView sẽ chặn các cử chỉ cuộn dọc và không bỏ qua chúng. Tôi đã đăng một câu hỏi mới về nó - http://stackoverflow.com/questions/25558630/uiscrollview-behavior-is-different-in-ios8 – sha

Các vấn đề liên quan