2012-08-13 33 views
16

Tôi rất mới đối với iOS. Tôi có một UITableView chứa đầy nhiều ô tùy chỉnh, nhưng ô dưới cùng không hiển thị đúng khi cuộn xuống.Giá trị Y của UITableView là 44 và Chiều cao là 480. Chỉ một nửa ô cuối cùng hiển thị khi cuộn xuống. Làm thế nào tôi có thể khắc phục vấn đề này.UITableview không hiển thị ô cuối cùng khi cuộn xuống

Xin cảm ơn trước.

Trả lời

62

định sử dụng -

tableView.contentInset = UIEdgeInsetsMake(0, 0, 120, 0); //values 

qua là - hàng đầu, bên trái, phía dưới, bên phải

đèo đáy bù đắp theo nhu cầu của bạn.

+1

Điều này không giải quyết được vấn đề thực tế, chính chế độ xem không được căn chỉnh không phải là nội dung. –

+0

Điều này đã giúp tôi giải quyết một cách khác biệt một cách chính xác. Nơi tôi muốn xem bảng để cuộn qua ô cuối cùng của nó để hiển thị chỉ báo hoạt động. Bình chọn từ tôi! – Tander

+0

Điều này giải quyết vấn đề của tôi là tốt. Sử dụng điều khiển bộ điều hướng điều hướng để hiển thị chế độ xem bảng và có cùng sự cố với iDia. – mafiOSo

2

Nếu bạn có một thanh trạng thái hiển thị trên đầu trang, sau đó nó sẽ chiếm 20px mà sẽ đẩy xuống tableView của bạn bằng nhau. Để tránh điều này, hãy chiều cao tableView 460 thay vì 480.

+0

Bạn không nên mã hóa giá trị độ cao thanh trạng thái mặc dù, một cái gì đó như trong câu trả lời này nên được sử dụng thay vì http://stackoverflow.com/a/7038870/707983 –

3

đó là vì bạn thiết lập khung của tableview của bạn sai, nếu tầm nhìn của bạn có một thanh điều hướng, thường sử dụng mã này:

CGRect frame = self.view.bounds; 
frame.height -= 44; 

44 là chiều cao của thanh điều hướng của bạn.

0

Nếu bạn đang ở trên iOS7 và sử dụng một navigation toolbar điều khiển, hãy chắc chắn để đặt nó vào trong mờ:

self.navigationController.toolbar.translucent = NO; 
0

Đối với tôi đây là làm việc.

tôi đã nhận xét ra mã của tôi

-(void)viewWillLayoutSubviews 
{ 
dispatch_async(dispatch_get_main_queue(), ^{ 
    //This code will run in the main thread: 
    CGRect frame = tableViewObj.frame; 
    frame.size.height = tableViewObj.contentSize.height;//commenting this code worked. 
    tableViewObj.frame = frame; 

}); 

} 

Vậy là xong. Nó làm việc cho tôi. Hãy chắc chắn rằng bạn đã không thay đổi khung tableview một số nơi trong khi trong tập tin thực hiện.

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