UIScrollView не прокручивает - PullRequest
       2

UIScrollView не прокручивает

0 голосов
/ 30 октября 2011

Каждый раз, когда этот вопрос задают на 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));

Эти NSLogs подтверждают, что все должно быть хорошо:

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

Когда дело доходит до фактического рисования текста, я использую Core Graphicsв методе 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]];

Я думаю, что это охватывает то, что я пытаюсь сделать.Прокрутка просто не происходит.Кто-нибудь может порекомендовать тактику, чтобы выяснить, что нужно сделать, чтобы это сработало?

1 Ответ

0 голосов
/ 30 октября 2011

Вы рисуете в прямоугольнике рисования прокрутки; это должно быть в подпредставлении прокрутки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...