Nó sẽ giúp đỡ nếu bạn đăng mã của bạn, nhưng: bạn đang có lẽ thêm UITableView
để RootViewController của bạn với một cái gì đó như thế này:
[self.view addSubview:myUITableView];
Chỉ cần thêm điểm nổi của bạn trong cùng một cách (tức là thêm nó vào bộ điều khiển xem của bạn, không phải cho UITableView của bạn). Nếu bạn thêm nó sau khi bạn thêm chế độ xem bảng, nó sẽ được "ở trên" chế độ xem bảng. Nếu không, bạn có thể mang nó đến đầu với một cái gì đó như thế này:
[self.view bringSubviewToFront:myOverlayView];
xem lớp phủ của bạn nên sub-class UIView
, và nó sẽ thiết lập riêng của mình backgroundColor
-[UIColor clearColor]
để làm cho nó minh bạch. Để cho phép người dùng tiếp tục tương tác với chế độ xem bảng (có thể bạn muốn xảy ra), trong lớp phủ lớp phủ ghi đè hitTest:withEvent:
và trả lại chế độ xem bảng (thay vì trả lại self
là hành vi mặc định). Thao tác này sẽ chuyển tất cả các lần chạm vào chế độ xem bảng bên dưới.
Bạn có thể đặt userinteractionenabled thành no và điều này chuyển tất cả sự kiện sang chế độ xem cơ bản, bạn không cần ghi đè hitTest – jrturton
@jrturton: vâng, điều đó đơn giản hơn nhiều so với hitTest trọng nhất. – MusiGenesis
Vì tôi đang ở trong lớp RootViewController của tôi, tôi phải viết: '[self.parentViewController.view addSubview: self.myOverlayView];', nhưng mọi thứ chỉ hoạt động. –