2013-09-24 88 views
5

Tôi đã có một UINavigationController với một UIViewController hiển thị một thanh điều hướng.iOS 7 UIViewController (với thanh điều hướng) không inset UIScrollView

Tôi đã đặt cụ thể [self setAutomaticallyAdjustsScrollViewInsets:YES];, mặc dù điều này phải là YES theo mặc định.

tôi thêm một UIScrollView:

self.scrollView = [[UIScrollView alloc] initWithFrame:self.view.bounds]; 
[self.view addSubview:self.scrollView]; 

Tuy nhiên, contentInset của UIScrollView là {0, 0, 0, 0}, vì vậy tôi tự hỏi tại sao nó không kế thừa hình chữ nhật nội dung từ bộ điều khiển xem như tài liệu khẳng định nó sẽ.

Nếu tôi thêm các bản xem trước vào chế độ xem cuộn và đặt Y thành self.scrollView.contentInset.top chúng không xuất hiện bên dưới thanh điều hướng, đó là những gì tôi mong đợi.

Tôi đang làm gì sai ở đây? Nó hoạt động tốt nếu bạn bắt đầu với một UITableViewController vì nó thừa hưởng chính xác contentInset từ bộ điều khiển xem.

Cảm ơn!

+0

Điều chỉnh contentInset (và nội dungOffset) sẽ chỉ được hiển thị sau khi xem trên màn hình. Bạn có thể xác nhận rằng chúng vẫn không được đặt trong 'viewDidAppear' trở lên không? –

+0

Ah, có thể có vấn đề ở đây, rằng tôi đang cố gắng để đặt nó trong 'loadView' – runmad

+1

Ah, chắc chắn sẽ không khuyên bạn nên làm nhiều hơn trong' loadView' hơn là tạo và gán một cái gì đó cho 'self.view'. –

Trả lời

-1
self.view = self.scrollView; 

Làm việc tốt cho tôi. Đã kiểm tra với UIWebview:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    self.view = self.webView; 
} 
-1

Nó điều chỉnh giới hạn chế độ xem cuộn, không phải là nội dung chèn.

+0

Không. Tôi muốn nội dung xuất hiện bên dưới thanh điều hướng, vv Bạn không nhận được điều này nếu bạn điều chỉnh giới hạn. – runmad

+0

Tại sao -1? Nếu bạn nhìn vào cách scrollView bị ảnh hưởng khi setAutomaticallyAdjustsScrollViewInsets: YES, bạn sẽ thấy rằng các giới hạn được thay đổi tùy thuộc vào sự hiện diện của một thanh điều hướng và/hoặc thanh trạng thái. Ví dụ, ẩn thanh trạng thái, và bạn sẽ thấy bounds.origin.y thay đổi 20. Nếu nó là NO, thì các giới hạn không thay đổi. – pickwick

+0

Nội dung bên trong UIScrollView không cuộn quá giới hạn. Nhưng nó cuộn ra ngoài phần bên trong. Tôi muốn nội dung cuộn ra ngoài giới hạn. – runmad