2011-01-14 11 views
5

Tôi đang sử dụng iOS SDK 4.2. Tôi có một UIPopoverController khởi tạo với một bộ điều khiển chuyển hướng được khởi tạo với một bộ điều khiển xem. Một trong các bản xem trước của bộ điều khiển chế độ xem là chế độ xem bảng được nhóm. Tôi muốn thay đổi màu nền của chế độ xem bảng. Tuy nhiên, nếu tôi làm trong phương pháp viewDidLoad của bộ điều khiển xemLàm cách nào để đặt màu nền của UITableView trong UIPopoverController?

self.myTableView.backgroundColor = [UIColor blackColor]; 

nền không thay đổi, khi popover xuất hiện, nền của xem bảng là màu xám. Bất kỳ đầu mối? Có gì sai với cách tiếp cận này? Cảm ơn bạn trước.

Trả lời

9

Chế độ xem bảng được nhóm có chế độ xem tùy chỉnh trong thuộc tính backgroundView. Chế độ xem tùy chỉnh này là những gì hiển thị nền. Nếu bạn muốn thay đổi nền, bạn nên tạo chế độ xem của riêng mình và gán nó ở đó. Trong trường hợp của bạn, bạn có thể muốn một cái gì đó như sau:

UIView *bgView = [[[UIView alloc] init] autorelease]; 
bgView.backgroundColor = [UIColor blackColor]; 
bgView.opaque = YES; 
self.myTableView.backgroundView = bgView; 
+5

Kevin, đề xuất của bạn hoạt động hoàn hảo. Tôi cũng đã được thông báo và xác minh rằng, chỉ cần xóa chế độ xem nền của chế độ xem bảng trước khi đặt màu nền của chế độ xem bảng, cung cấp cùng một kết quả: self.myTableView.backgroundView = nil; self.myTableView.backgroundColor = [UIColor blackColor]; –