2009-10-09 26 views
39

Tôi có một TabBarController, một trong các tab trong đó có một khung nhìn con là một navigationController. Sau đó tôi tải vào bộ điều khiển điều hướng một khung nhìn kế thừa biểu mẫu UITableViewController.Lề trên trên UITableViewController

Vấn đề của tôi là vì lý do nào đó, chế độ xem bảng bắt đầu bung bộ điều khiển điều hướng, chứ không phải đầu màn hình nhưng cách nửa thanh xuống trên thanh điều hướng, do đó đầu ô đầu tiên trong chế độ xem bảng bị cắt.

Có ai có thể đề xuất cách di chuyển UITableViewController xuống không?

Trả lời

-1

Bạn có thể đặt khung của UITableView thành vị trí X, Y rõ ràng bằng cách đặt thuộc tính khung trên chế độ xem. Hoặc bạn có thể thay đổi cùng một thuộc tính bằng cách sử dụng trình tạo giao diện tùy thuộc vào việc bạn đã thêm bảng xem qua IB hay trong mã.

ví dụ:

myTable.frame = CGRectMake(0.0, myTable.frame.origin.y + NAV_BAR_HEIGHT, myTable.frame.size.width, myTable.frame.size.height); 

Điều này sẽ định vị bảng myTable (là con trỏ đến UITableView) bên dưới thanh điều hướng, bạn cũng có thể cần phải điều chỉnh chiều cao của bảng tương ứng. Chiều cao của thanh điều hướng mà tôi chỉ ra với hằng số là 44.0.

Tôi thường thực hiện loại điều chỉnh chế độ xem này nếu cần thiết trong chế độ xemXóa của trình điều khiển chế độ xem chịu trách nhiệm. Thông thường, bạn sẽ cần phải thực hiện loại điều chỉnh này để có thể là điều bạn có thể khắc phục bằng cách thay đổi cách thiết lập chế độ xem của bạn.

Nếu không có thêm chi tiết về cách thiết lập chế độ xem của bạn thì khó có thể cụ thể hơn.

98

Khắc phục sự cố cách lập trình:

- (void)viewDidLoad { 
     UIEdgeInsets inset = UIEdgeInsetsMake(20, 0, 0, 0); 
     self.tableView.contentInset = inset; 
    } 
+2

Điều này làm việc tuyệt vời, nhưng các thanh cuộn là một chút sai lầm. Chúng mở rộng dưới thanh điều hướng ở đây. Nó giống như chúng ta cần phải thay đổi khung thay vì chỉ thêm một edgeInset vào scrollview. Nhưng việc đóng khung lại không hoạt động –

+4

@ chuckp16 Bạn cũng có thể thêm 'self.tableView.scrollIndicatorInsets = inset;' – dokkaebi

+4

(64, 0, 0, 0) hoạt động tốt nhất cho UINavigationBars chuẩn (không có lời nhắc). – eulr

7

này "giấu ở phía sau Navigation bar" vấn đề là do iOS 7 sử dụng bố trí toàn màn hình tự động. See the iOS 7 Transition Guide.

Đó là một chút quanh co vì nó hiển thị như trong iOS 6 trong Simulator (bố cục khôn ngoan; tức là không được giấu ở phía sau).

Thanh điều hướng của bạn có mờ không? Tôi đã, và thiết lập nó để sửa chữa không mờ nó trên Iphone iOS 6, iPhone iOS 7, và Simulator 7.0 xây dựng với XCode 5. (Trong trường hợp của tôi tôi đặt nó mờ cho hình ảnh trực quan.)

+0

Hah! Chỉ cần kiểm tra các ngày ... đây không phải là về bố trí iOS 7, phải không? :) Gah. Vâng, tôi đoán tôi có thể để nó trong trường hợp đây là hit đầu tiên mọi người tìm kiếm vấn đề ngày nay, như tôi đã làm. –

+0

Cảm ơn bạn đã rời khỏi trang này. Nó đã giúp đỡ tôi. – jeffreymatthias

+0

Mặc dù đây không phải là trường hợp cho câu hỏi ban đầu, đây là một câu trả lời rất hữu ích! – erdekhayser

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