UITableView của bạn có thể có backgroundView. Đặt nó thành UIImageView và đặt khung của nó thành giới hạn của chế độ xem bảng. Mã này chưa được kiểm tra, nhưng nên cung cấp cho bạn một ý tưởng.
UIImage * img = [UIImage imageNamed:@"myImage.jpg"];
UIImageView * imgView = [[UIImageView alloc] initWithImage:img];
imgView.frame = myTableView.bounds;
myTableView.backgroundView = imgView;
EDIT: trên sẽ tạo ra một nền tảng giống như đồng hồ thế giới. để làm cho nó hiển thị bên dưới các ô khác dưới dạng ô, hãy thay đổi nguồn dữ liệu của bạn:
- numberOfRowsInSection:section:
phải trả lại nhiều hơn trước. - tableView:canEditRowAtIndexPath:
và tableView:canMoveRowAtIndexPath:
phải trả lại NO
cho ô mới này. - (UITableViewCell *)tableView:cellForRowAtIndexPath:
cần để tạo ra các tế bào mới khi nó được yêu cầu, vì vậy nếu bạn có 5 ô dữ liệu, thứ 6 sẽ trở lại:
UITableViewCell * cell = //create your cell
//change the height to match the remaining space
UIImage * img = [UIImage imageNamed:@"myImage.jpg"];
UIImageView * imgView = [[UIImageView alloc] initWithImage:img];
cell.backgroundView = imgView;
Tôi không chắc chắn nếu bạn phải thiết lập kích thước điểm ảnh, nhưng bạn phải thiết lập kích thước tế bào để đưa lên không gian còn lại, với một cái gì đó như thế này trong bạn bảng điểm đại biểu củatableView:heightForRowAtIndexPath:
cho hàng cuối cùng:
//if final row
return myTableView.bounds.size.height - 16.0 * myData.count; //modify from the default 16.0 as needed.
Nguồn
2010-09-08 21:59:19
nhìn vào mã mà, có vẻ như rằng sẽ thêm một hình ảnh phía sau các ô xem bảng. Những gì tôi đang cố gắng đạt được là một cái gì đó như tôi đã cập nhật câu hỏi của tôi để hiển thị. Đúng nếu tôi đã sai lầm. –
Được rồi. Đề nghị của tôi là để làm cho nó giống như đồng hồ thế giới, trong đó sử dụng một hình nền, và điều này sẽ làm như vậy. Nếu bạn muốn hình ảnh hiển thị bên dưới các ô còn lại, bạn cần phải biến nó thành một ô! Tôi sẽ chỉnh sửa bình luận của mình. –