Tôi có một ứng dụng như ứng dụng ảnh nơi chế độ xem chính là UIScrollView
chiếm toàn bộ kích thước màn hình. Ngoài ra, giống như ứng dụng ảnh, khi người dùng chạm vào màn hình có điều hướng mờ, trạng thái và thanh công cụ xuất hiện lại/biến mất.Toàn màn hình UIScrollView không hoạt động Chính xác
Tôi đang gặp sự cố khi đặt chế độ xem chính UIViewControllers
làm UIScrollView
và có chiều dài toàn màn hình. Vấn đề là khi thanh điều hướng và thanh trạng thái được hiển thị, các UIScrollView
bị đẩy xuống bởi chiều cao của thanh điều hướng và trạng thái (nó không đi bên dưới chúng như nó giả sử). Khi người dùng chạm vào màn hình và thanh điều hướng/trạng thái biến mất, khi đó màn hình sẽ tự đặt lại để chiếm toàn bộ chiều dài của màn hình như được giả sử.
Một công việc đơn giản xung quanh việc đặt chế độ xem chính là UIView
và gắn UIScrollView
trên đầu trang hoạt động. Tuy nhiên, tôi muốn thử và có được điều này để làm việc mà không có bất kỳ cách giải quyết (tức là điều chỉnh UIScrollViews contentInset
, vv) bởi vì trong lý thuyết nó sẽ làm việc.
Dưới đây là đoạn code Tôi đang thực hiện:
- (void)loadView
{
self.wantsFullScreenLayout = YES;
UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame: CGRectMake(0,0,320,480)];
scrollView.contentSize = CGSizeMake(320, 480);
scrollView.scrollEnabled = NO;
scrollView.contentOffset = CGPointZero;
scrollView.bounces = NO;
self.view = scrollView;
[scrollView release];
}
- (void) viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
self.navigationController.navigationBar.translucent = YES;
[[UIApplication sharedApplication] setStatusBarStyle: UIStatusBarStyleBlackTranslucent animated: NO];
self.navigationController.toolbarHidden = NO;
self.navigationController.toolbar.barStyle = UIBarStyleBlack;
self.navigationController.toolbar.translucent = YES;
[self startTimer];
}
- (void) viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
self.navigationController.navigationBar.translucent = NO;
[[UIApplication sharedApplication] setStatusBarStyle: UIStatusBarStyleDefault animated: NO];
[self cancelTimer];
}
UPDATE: Tôi đã nhận thấy đó là contentOffset
và contentInset
đó đang thay đổi, không phải là scrollViews
khung. Khi các thanh đã biến mất và UIScrollView
là kích thước đầy đủ của màn hình (như nó phải được), các contentOffset
và contentInset
như sau:
Content Offset: {0, -20}
Content Inset: {20, 0, 44, 0}
Khi các thanh có thể nhìn thấy và UIScrollView
được đẩy xuống, contentOffset
và contentInset
như sau:
Content Offset: {0, -64}
Content Inset: {64, 0, 44, 0}
Ban phước cho bạn! Tôi chỉ xé tóc ra. –