2017-10-25 31 views
5

Tôi đang sử dụng cả hai UITableViewControllerUITableView trong một dự án.Bảng nhìn và chỉ báo nhà trên iPhone X

Một UITableView trong một UITableViewController chồng lên chỉ số nhà trên iPhone X. Nhưng một UITableView trong một UIViewController không che phủ các chỉ số nhà trên iPhone X. Tôi có nên phù hợp với một? Và điều nào là đúng khi tôi cân nhắc về khu vực an toàn?

e.x.

UITableViewController

UITableView on UIViewController

Trả lời

0

Điều này là do xem bảng trong UITableViewController là xem gốc. Nó sẽ mở rộng đến toàn màn hình. Nhưng bạn có thể làm cho các ràng buộc để hướng dẫn bố trí dưới cùng cho xem bảng trong UIViewController. Vì vậy, bạn có thể sử dụng UIViewController. Hoặc bạn có thể thiết lập nội dung insets trong UITableViewController.

2

Bạn có thể tiếp tục sử dụng số UITableView theo tiêu chuẩn UIViewController. Chỉ cần đặt bố cục tự động sao cho phần dưới cùng của chế độ xem bảng được tuôn ra với phần dưới cùng của phần giám sát (chứ không phải lề). Sau đó thiết lập các insetsContentViewsToSafeArea tài sản của tableview để true

Swift:

if #available(iOS 11.0, *) { 
    tableView.insetsContentViewsToSafeArea = true; 
} 

Objective-C:.

if (@available(iOS 11.0, *)) { 
    [tableView setInsetsContentViewsToSafeArea:YES]; 
} 
+0

Nếu bạn đã thiết lập 'UIScrollView.appearance() contentInsetAdjustmentBehavior' vào '.never' trong appDelegate, hãy nhớ đặt thuộc tính' contentInsetAdjustmentBehavior' của tableView thành '.automatic' /' .always'/'.scrollableAxes', nếu không, nội dung ở phía dưới sẽ bị che khuất. Trong phiên bản iOS 11.1 và phiên bản cũ hơn, chúng tôi đặt nó thành '.never' để ngăn chặn hoạt ảnh điều chỉnh insets trên popping, nhưng bây giờ (iOS 11.2) Tôi cố gắng không đặt nó ở đầu và ứng dụng hoạt động chính xác. Vì vậy, tôi nghĩ rằng các hình ảnh động bất ngờ trong phiên bản trước đó có thể là một lỗi hoặc các thủ tục xử lý đã thay đổi. – LYM

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