2011-10-29 201 views
0

每次在SO(以及其他地方)询问此问题时,答案都是“确保contentSize大于视图大小,并将其设置为viewDidLoad!”是的,我正在这样做,那么还有什么可能是这个问题?UIScrollView不滚动

在我的控制器的loadView:我有这些线路设置我的观点:

descriptionView = [[DetailDescriptionView alloc] initWithFrame:CGRectMake(160, 60, 160, 180)]; 
descriptionScrollView = [[DetailDescriptionScrollView alloc] initWithFrame:CGRectInset(CGRectMake(0, 0, 160, 180), 5, 5)]; 
[descriptionView addSubview:descriptionScrollView]; 
[self.view addSubview:descriptionView]; 

然后,在viewDidLoad中,我有这样的代码:

[descriptionScrollView setDescriptionText:@"<lots of text that will require scrolling>"]; 
NSUInteger contentHeight = <** calculations on the text to determine height **> 
[descriptionScrollView setContentSize:CGSizeMake(descriptionScrollView.frame.size.width, contentHeight)]; 
NSLog(@"ContentSize: %@", NSStringFromCGSize(descriptionScrollView.contentSize)); 
NSLog(@"DescriptionScrollView Size: %@", NSStringFromCGRect(descriptionScrollView.frame)); 

那些NSLogs确认所有应罚款:

ContentSize: {150, 330} 
DescriptionScrollView Size: {{5, 5}, {150, 170}} 

当谈到做文本的实际绘图时,我在使用Core Graphics scrollview的drawRect:方法。这里是相关的片段:

CGRect descriptionTextBox = CGRectMake(self.frame.origin.x, 20, self.frame.size.width - 10, 330); 
[self.descriptionText drawInRect:descriptionTextBox withFont:[UIFont fontWithName:kMediumFontName size:kFontSizeMicro]]; 

我认为这涵盖了我想要做的。滚动不会发生。任何人都可以推荐一个策略来弄清楚要做什么尝试做这项工作?

回答

0

您正在绘制scrollview的绘制矩形;它需要位于scrollview的子视图中。