我已经以编程方式创建了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.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。它还没有滚动。
答案 0 :(得分:0)
由于自动布局中的scrollView功能,正在重新定义contentSize。要解决此问题,您可以在viewDidLayoutSubviews()中禁用自动布局或设置内容大小
-(void)viewWillLayoutSubviews {
[super viewDidLayoutSubviews];
view_scroll.contentSize = CGSizeMake(650,224*[_cases count]+25*[_cases count]);
}