2011-07-03 27 views
5

Tôi muốn đặt hình ảnh làm nền cho uitableview của mình. Đây là mã tôi đang sử dụng:Đặt hình nền thành uitableview?

self.tableView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"background_tableview.png"]]; 

Điều này hiển thị hình ảnh ngay nhưng ngay khi bảng được điền vào điều gì đó kỳ lạ xảy ra. Các bộ phận của hình ảnh được hiển thị trong mỗi tableviewcell và hình ảnh cũng cuộn cùng với bảng. Làm thế nào tôi có thể làm cho nó để hình ảnh vẫn cố định và mỗi tableviewcell không hiển thị một phần của hình ảnh?

Cảm ơn,
TC

+0

có thể trùng lặp của [UITableView di động với hình nền] (http://stackoverflow.com/questions/6329832/uitableview- ô-với-nền-hình ảnh) – bummi

Trả lời

13

Bạn không muốn để thiết lập nền của UITableView nếu bạn không muốn nó di chuyển. Thay vào đó, bạn muốn đặt nền của UITableView thành minh bạch - và cung cấp nền cố định của riêng bạn phía sau UITableView.

Để thực hiện việc này, trước tiên hãy đặt nền của UITableView thành "Clear Color".

lập trình:self.tableView.backgroundColor = [UIColor clearColor];

Bạn cũng sẽ muốn để bỏ chọn hộp kiểm đục.

lập trình:self.tableView.opaque = NO;

Thiết lập các nền cố định mà bạn muốn trong cái nhìn đằng sau UITableView.

Hãy chắc chắn rằng bất kỳ phụ quan điểm trong bất kỳ UITableViewCell của bạn cũng là backgroundColor = [UIColor clearColor]; (UITextView s, vv)

Example Xcode 4/Interface Builder setup

+3

bất kỳ cách nào để làm điều đó có vấn đề? –

+1

Đã chỉnh sửa với mã mẫu để thực hiện theo chương trình (không chắc chắn về 'có vấn đề 'mặc dù ... hehe). Bạn sẽ phải lấy nó từ đó. Bất cứ điều gì bạn có thể làm trong trình xây dựng giao diện, bạn có thể thực hiện thông qua mã - và khá thẳng về phía trước. Chỉ cần tìm kiếm tài liệu của Apple cho tên lớp và tên của thuộc tính bạn đang tìm kiếm. Bạn sẽ tìm thấy nó. – Steve

+0

Tôi có phải thêm uiimageview làm subview không? –

0

Các giải pháp trên hoạt động nếu bên trong một UIViewController, bạn thêm một tableViewImageview Trong mã, hãy tạo một lối thoát của tableView và kết nối nó với tableView bằng xib, kết nối chế độ xem với UIView. Đặt hình ảnh vào UIImageView và nhấp vào imageView. Chọn:

Editor> Arrange> Send to Sao

Trong viewDidLoad phương pháp của UIViewController, thêm những dòng sau đây:

self.tableView.backgroundColor = [UIColor clearColor]; 
self.tableView.opaque = NO; 

và nó làm việc cho tôi :)

6

Hình ảnh cho nền BảngView

self.tableView.backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"your_image"]]; 

Đừng quên ghi tên tệp bằng loại hình ảnh.VÍ DỤ:

self.tableView.backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"myPhoto.png"]]; 
0

/* thiết Backgroundimage trong UITableView như sau */

UIImageView *imguser = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"user"]]; 
[tblUser setBackgroundView:imguser]; 
Các vấn đề liên quan