2010-04-13 5 views
8

Questo potrebbe essere un po 'schizzinoso, ma nella configurazione SplitViewController iPad, ci sono 2 visualizzazioni. Ognuna delle viste ha un arrotondamento molto piccolo in nero. (Probabilmente è lo stesso anche con le app per iPhone).SDK iPhoneOS - Rimuovi angoli arrotondati dalle viste (problema iPad)

Questo arrotondamento è visibile nell'immagine seguente. Quello che mi piacerebbe fare è rimuovere l'arrotondamento nero, quindi l'interfaccia utente non ottiene questi due piccoli dossi sul fondo. Qualcuno ha fatto questo o sa come? -Io è sicuramente possibile.

Speriamo che qualcuno abbia già visto questo.

Grazie

Image Link Mirror

alt text http://img19.imageshack.us/img19/7297/screenshot20100413at102.png

+0

È questo in fondo a una finestra? Potrebbe effettivamente essere fatto tramite clipping. –

risposta

13

Aggiungere il seguente per la vostra applicazione delegato:

- (void) fixRoundedSplitViewCorner 
{ 
    [self explode:[[UIApplication sharedApplication] keyWindow] level:0]; 
} 

- (void) explode:(id)aView level:(int)level 
{ 
if ([aView isKindOfClass:[UIImageView class]]) { 
    UIImageView* roundedCornerImage = (UIImageView*)aView; 
    roundedCornerImage.hidden = YES; 
} 
if (level < 2) { 
    for (UIView *subview in [aView subviews]) { 
    [self explode:subview level:(level + 1)]; 
    } 
} 
} 

Nel vostro DetailViewController del UISplitViewController aggiungere:

- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation 
{ 
[yourAppDelegate performSelector:@selector(fixRoundedSplitViewCorner) withObject:NULL afterDelay:0]; 
} 
+0

Sì, sembra essere l'ideale! Grazie fantastici. Il codice viene eseguito solo quando premo un tablecell nel MasterViewController, o suppongo che fino a quando DetailViewController non viene aggiornato. Ho provato a chiamare fixRoundedSplitViewCorner da ogni viewDidLoad ma non riesco a farlo funzionare al primo caricamento. Puoi dare l'ultimo pezzo del puzzle? Il codice sopra è fantastico finora! – oberbaum

+0

È sufficiente chiamare fixRoundedSplitViewCorner quando il dispositivo viene ruotato. Aggiungi il didRotateFromInterfaceOrientation come pubblicato sopra e funzionerà anche all'avvio dell'applicazione. – abs

+1

Sembra non fare nulla per me (iOS5). – raidfive

1

probabilmente dovrete ignorare drawRect nella vista e disegnare il vostro da soli, senza l'arrotondamento.