2012-05-25 27 views
8

Tôi đang sử dụng một MBProgressHUD bên trong của một UITableViewController. Trong khi tôi có thể khiến HUD hiển thị thành công, HUD chặn tất cả các thông báo chạm của màn hình và ngăn cuộn trong UITableView của tôi.MBProgressHUD vô hiệu hóa tương tác với UITableViewController

Tôi biết rằng chức năng dự định của MBProgressHUD có thể là khóa giao diện (ví dụ, trong khi hoạt động chặn), nhưng tôi muốn biết cách chuyển tiếp các sự kiện cảm ứng đến các địa điểm thích hợp bất kể.

Bất kỳ ý tưởng nào?

Trả lời

4

Đã tìm ra. Mã sau cần phải được thêm vào mã của MBProgressHUD:

- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event { 
// UIView will be "transparent" for touch events if we return NO 
return (NO); 
} 
20

MBProgressHUD là một phân lớp của UIView do đó bạn phải vô hiệu hóa tương tác người dùng với UIView. Vì vậy:

youMBProgressHUDPointer.userInteractionEnabled = NO;

0

Kiểm tra câu trả lời của tôi here. MBProgressHUD chặn các tương tác ở cấp ứng dụng. Bạn cần phải đưa ra một cách để vượt qua điều đó bằng cách đặt một số logic tùy chỉnh.

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