Về cơ bản, đây là cấu trúc phân cấp của tôi (và tôi thích ứng dụng nếu khó đọc ... Tôi mới ở đây để gửi đề xuất một cách vui vẻ chấp nhận)Vô hiệu hóa chạm trên nền UIView sao cho các nút ở chế độ xem thấp hơn có thể bấm
--AppControls.xib
------- (UIView) ControlsView
----------------- (UIView) TopBar
--- -------------- -------------- btn1, btn2, btn3
--------------- - UIView) BottomBar
----------------- - ------------- slider1 btn1, btn2
--PageContent.xib
----------------- (UIView) ContentView
- ---------------- -------------- btn1, btn2, btn3
------------- ---- -------------- (UIImageView) FullPageImage
tình hình của tôi là tôi muốn ẩn và hiển thị các điều khiển khi khai thác bất cứ nơi nào trên PageContent không thats một và có các nút điều khiển hiển thị, giống như Trình phát video trên iPhone. Tuy nhiên, khi các điều khiển được hiển thị, tôi vẫn muốn có thể nhấp vào các nút trên PageContent.
Tôi có tất cả công việc này, ngoại trừ bit cuối cùng. Khi các điều khiển hiển thị nền của các nút điều khiển nhận được các sự kiện cảm ứng thay vì chế độ xem bên dưới. Và tắt tương tác người dùng trên ControlsView sẽ tắt nó trên tất cả các con của nó.
Tôi đã cố gắng trọng hitTest trên lớp con ControlsView của tôi như sau đó tôi tìm thấy trong một bài tương tự:
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event{
UIView *hitView = nil;
NSArray *subviews = [self subviews];
int subviewCount = [subviews count];
for (int subviewIndex = 0; !hitView && subviewIndex < subviewCount; subviewIndex++){
hitView = [[subviews objectAtIndex:subviewIndex] hitTest:point withEvent:event];
}
return hitView;
}
Tuy nhiên, vào thời điểm này thanh trượt của tôi không hoạt động, cũng không phải làm hầu hết các nút khác, và thực sự, mọi thứ bắt đầu trở nên kỳ lạ.
Câu hỏi của tôi ngắn gọn: Làm cách nào để cho phép tất cả các lượt xem của chế độ xem có sự kiện chạm, trong khi nền của chế độ xem siêu không thể nhấp được và các nút trên chế độ xem bên dưới có thể nhận sự kiện chạm.
Cảm ơn!
Perfect! Cảm ơn bạn rất nhiều! – averydev
Bạn được chào đón. Tôi đã chiến đấu với cùng một vấn đề này trong nhiều giờ một lần. Vui vẻ giúp đỡ. –
Nhân tiện, đó có phải là ít hơn một cách propper để vẽ đồ thị phân cấp không? Hoặc là có một thực hành tiêu chuẩn? – averydev