Cocoa touch UIScrollView没有滚动

Cocoa touch UIScrollView没有滚动,cocoa-touch,uiscrollview,Cocoa Touch,Uiscrollview,每次在SO和其他地方问这个问题时,答案都是确保contentSize大于视图大小,并在viewDidLoad中设置它!是的,我正在这样做,那么还有什么问题呢 在我的控制器的loadView中:我有以下几行设置我的视图: descriptionView = [[DetailDescriptionView alloc] initWithFrame:CGRectMake(160, 60, 160, 180)]; descriptionScrollView = [[DetailDescriptionSc

每次在SO和其他地方问这个问题时,答案都是确保contentSize大于视图大小,并在viewDidLoad中设置它!是的,我正在这样做,那么还有什么问题呢

在我的控制器的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));
在实际绘制文本时,我在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]];

我想这就是我要做的。滚动没有发生。有人能推荐一种策略来解决这个问题吗?

您正在scrollview的draw rect中绘制;它需要位于scrollview的子视图中

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