2017-09-13 55 views
6

tôi nhận thấy rằng mã này không hoàn toàn công việc như mong đợi trên iOS 11, bởi vì "adjustedContentInset" thay đổi giá trị tài sản là "Navigationbar" co lại trong một cuộn:iOS 11: Di chuyển lên trên cùng khi "adjustContentInset" thay đổi với thanh tiêu đề lớn hơn?

CGFloat contentInsetTop=[scrollView contentInset].top; 

if (@available(iOS 11.0, *)) 
{ 
    contentInsetTop=[scrollView adjustedContentInset].top; 

} 
//// 

[scrollView setContentOffset:CGPointMake(0, -contentInsetTop) animated:YES]; 

... Ví dụ: điều này có thể bắt đầu dưới dạng 140, sau đó giảm xuống còn 88 vượt quá mức bù cuộn tối thiểu. Điều này có nghĩa là nếu bạn gọi điều này, nó không thực sự cuộn tất cả các cách trên cùng.

Bên cạnh việc bảo tồn bản gốc bù đắp trong bộ nhớ từ khi UIScrollView tải, là có một cách để khôi phục lại giá trị này sau đó để đảm bảo rằng nó không thực sự cuộn để đầu liên tục, không có vấn đề "adjustedContentInset"?

Trả lời

1

Hiện tại, thực sự không có cách nào để thực hiện việc này với iOS 11, tôi đã nghe. Cách duy nhất để làm như vậy là nắm bắt giá trị ban đầu và lưu trữ nó cho cuộc sống của trình điều khiển điều hướng/xem.

Tôi sẽ cập nhật câu trả lời của mình cho phù hợp nếu tôi nghe thấy khác, nhưng nó sẽ bị hỏng trong bản phát hành iOS 11 cơ bản một cách không may.

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