2011-11-01 25 views
7

Trong UITableView chính cho một RootViewController.Chế độ xem nổi trên UITableView trong RootViewController

Làm cách nào tôi có thể thêm Chế độ xem qua Chế độ xem bảng RootViewControllers, với vị trí của nó so với màn hình chứ không phải với TableView, vì vậy nó không cuộn với nó?

Lưu ý - đó sẽ là thanh tiến trình hiển thị dữ liệu mới cho tiến trình tải xuống bảng.

Trả lời

5

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.

+3

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

+0

@jrturton: vâng, điều đó đơn giản hơn nhiều so với hitTest trọng nhất. – MusiGenesis

+0

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. –

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