Как предотвратить обрезку встроенного UIView внутри UIScrollView

StackOverflow https://stackoverflow.com/questions/2478506

Вопрос

У меня есть подкласс 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)];

Упс.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top