Come prevenire UIView incorporato all'interno di un UIScrollView vengano troncate
-
21-09-2019 - |
Domanda
Ho una sottoclasse UIView iPad (che chiameremo LargerUIView) con la quale faccio un po 'di disegno via drawRect: una volta chiesto. Che tutto sembra funzionare, e guarda il modo in cui mi piace. Sono arrivato al punto di cercare di ottenere lavoro lo scorrimento (solo in orizzontale per cominciare), ma quando provo a scorrere, ciò che mostra sotto è nero (vale a dire, sembra che non sono mai stati disegnati). Questo non mi sorprende come è probabile stato troncato. Alla ricerca di suggerimenti. Ecco quello che sto facendo finora:
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;
}
Qualche suggerimento? Hanno provato a cambiare "setClipsToBounds" NO pure.
Soluzione
Sigh. Che stupido. La LargerUIView è stato istituito per essere più piccoli in InterfaceBuilder. Ho dimenticato di aggiungere una riga come questa:
[view setBounds:CGRectMake(0, 0, 768, pageHeight)];
Spiacenti.