Как предотвратить обрезку встроенного UIView внутри UIScrollView
-
21-09-2019 - |
Вопрос
У меня есть подкласс UIView для iPad (мы будем называть LargerUIView), с помощью которого я делаю кучу отрисовок через drawRect:однажды спрошенный.Похоже, все это работает и выглядит так, как мне нравится.Сейчас я пытаюсь заставить прокрутку работать (только для начала по горизонтали), но когда я пытаюсь прокрутить, то, что показано ниже, становится черным (т. Е. кажется, что оно никогда не рисовалось).Это меня не удивляет, поскольку, скорее всего, оно было обрезано.Ищу предложения.Вот что я делаю на данный момент:
MyAppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
CGRect scrollRect = CGRectMake(0, 0, 768, 1024);
UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:scrollRect];
LargerUIView *view = (LargerUIView *)[viewController view];
[scrollView addSubview:view];
[scrollView setContentSize:CGSizeMake(768, pageHeight)];
[scrollView setContentMode:UIViewContentModeRedraw];
[scrollView setClipsToBounds:YES];
[window addSubview:scrollView];
[scrollView release];
// Without this next line, the "frontmost" (ie, most recently added subview)
// is the target uiview - which is not equipped to handle scrolling/UIEvents
[window sendSubviewToBack:view];
// Show it all.
[window makeKeyAndVisible];
return YES;
}
Есть какие-нибудь предложения?Я также пробовал изменить "setClipsToBounds" на NO.
Решение
Вздох.Как глупо.LargerUIView был настроен так, чтобы быть меньше в InterfaceBuilder.Забыл добавить такую строку:
[view setBounds:CGRectMake(0, 0, 768, pageHeight)];
Упс.