2012-12-03 35 views
7

Do kiểu thanh điều hướng bị mờ, tôi nhận được tiêu đề phần đầu tiên (phần # 0) được ẩn dưới thanh điều hướng của tôi.Đoạn tiêu đề phần UITableView dưới thanh điều hướng

Tôi biết điều này đã được hỏi trước, và một cách giải quyết với nó là để làm:

self.navController.navigationBar.translucent = YES; 

này đặt xem có vấn đề đúng - phần tiêu đề xuất hiện bên dưới thanh điều hướng thay vì che giấu đằng sau nó, đó là những gì tôi muốn.

Tuy nhiên, điều này sẽ vô hiệu hóa thiết kế chế độ xem khác của tôi và để lại các khoảng trống thừa trong tất cả chúng, ngay bên dưới thanh điều hướng của tôi.

Làm cách nào để lấy tiêu đề phần ở đúng vị trí?

Trả lời

14

giải quyết:

  • Open file storyboard
  • chọn UITableView
  • Theo thanh tra thuộc tính -> xem Scroll kích thước -> insets nội dung, thiết lập trên = 44 (hoặc bất cứ là chiều cao thanh nav của bạn).

Xem hình ảnh dưới đây - đó là dưới phần kích thước:

enter image description here

And here is làm thế nào để sửa chữa nó lập trình.

+0

Trình kiểm tra thuộc tính ở đâu? – Gank

+0

Nội dung inset không tồn tại trong thanh tra, chỉ cuộn các chỉ số insets. –

+0

@SteveTaylor - kiểm tra xem bạn có vô tình giấu nó bằng cách sử dụng nút Ẩn hay không. –

1

Đối với những người khác gặp sự cố này khi sử dụng (SVPullToRefresh).

Có thể giải quyết bằng cách thay đổi chế độ xem.originalTopInset trong UIScrollView + SVPullToRefresh.m thành bất kỳ điểm nào bạn muốn tiêu đề bắt đầu.

+0

Tariq bạn có thể chia sẻ chi tiết về điều này không? Sau thao tác cuộn ban đầu, tôi không bao giờ có thể nhận được phần tử tableview đầu tiên của mình để được nhìn thấy nó bò lên dưới thanh điều hướng/thanh. Tôi thấy trong mã SVPullToRefresh var gốcTopInset nhưng nó được sử dụng ở nhiều nơi - nơi tôi nên thay đổi nó và làm thế nào? –

8

Để giải quyết vấn đề này trong khi sử dụng SVPullToRefresh. Tôi đã tạo phương thức bên dưới và thay thế cho [self.tableView.pullToRefreshView stopAnimating];

-(void)stopPullToRefreshAnimation 
{ 
    [self.tableView.pullToRefreshView stopAnimating]; // call to stop animation 

    UIEdgeInsets inset = UIEdgeInsetsMake(44, 0, 0, 0); 
    self.tableView.contentInset = inset; 
    self.tableView.scrollIndicatorInsets = inset; 
} //stopPullToRefreshAnimation 
+0

thuộc tính pulltorefreshview không tìm thấy trên đối tượng loại tableview –

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