Ios UIScrollview在设置ContentSize后不滚动
我以编程方式创建了一个UIScrollView,它不会滚动:Ios UIScrollview在设置ContentSize后不滚动,ios,objective-c,uiscrollview,Ios,Objective C,Uiscrollview,我以编程方式创建了一个UIScrollView,它不会滚动: CGRect prevFrame; BOOL isFirst = TRUE; UIScrollView *view_scroll = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)]; view_scroll.cont
CGRect prevFrame;
BOOL isFirst = TRUE;
UIScrollView *view_scroll = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
view_scroll.contentSize = CGSizeMake(650,224*[_cases count]+25*[_cases count]);
view_scroll.showsVerticalScrollIndicator = YES;
view_scroll.scrollEnabled = YES;
NSLog(@"%f",view_scroll.contentSize.height);
[self.view addSubview:view_scroll];
for(SLSCase* patientCase in _cases){
SLSCaseCard* caseCard = [[[NSBundle mainBundle] loadNibNamed:@"SLSCaseCard" owner:self options:nil] objectAtIndex:0];
if(isFirst){
caseCard.frame = CGRectMake(25,25, caseCard.frame.size.width, caseCard.frame.size.height);
isFirst = FALSE;
}
else{
caseCard.frame = CGRectMake(25, prevFrame.origin.y+caseCard.frame.size.height+25, caseCard.frame.size.width, caseCard.frame.size.height);
}
prevFrame = caseCard.frame;
[view_scroll addSubview:caseCard];
}
如您所见,我已设置contentSize和scrollEnabled。它仍然没有滚动 由于自动布局中的scrollView功能,contentSize正在重新定义。要解决此问题,可以在viewDidLayoutSubviews中禁用自动布局或设置内容大小
-(void)viewWillLayoutSubviews {
[super viewDidLayoutSubviews];
view_scroll.contentSize = CGSizeMake(650,224*[_cases count]+25*[_cases count]);
}
您的内容大小可能小于您的scrollview框架。您确定在_案例中有项目吗?您能在屏幕上看到内容位于屏幕底部下方吗?请先尝试将大小分配给CGSize变量,然后检查值以确保大小正确