【发布时间】:2014-08-22 14:39:26
【问题描述】:
我查看了这个问题的其他答案,但没有一个有帮助。
我在非常简单的场景中有一个 UIScrollView,嵌入如下:
根据this answer,我使用此代码确保滚动视图实际滚动。
-(void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
[self resizeScrollView];
}
- (void) viewDidLayoutSubviews {
[self resizeScrollView];
}
- (void)resizeScrollView
{
_scrollView.scrollEnabled = YES;
[_scrollView setContentSize:_innerView.frame.size];
}
- (IBAction)cameraButtonPressed:(id)sender {
UIViewController *vc = [UIViewController new];
[self.navigationController pushViewController:vc animated:YES];
}
问题是,在我推送并弹出新的 ViewController 后滚动不起作用(顺便说一句,它最初是一个图像选择器)。
【问题讨论】:
-
_innerView的框架是否等于或小于包含您UIScrollView的窗口的大小? -
高约100。
-
尝试将
viewDidLayoutSubviews更改为layoutSubviews(调用super) -
navigationController弹出或推送时是否打印了_innerView.frame.size的日志?
-
我做到了,它们应该是,总是相同的大小,比滚动视图的框架高,并且与滚动视图的内容大小相同。
标签: ios objective-c uiscrollview uinavigationcontroller