Recentemente mi sono imbattuto in questo brillante articolo sul miglioramento delle prestazioni di scorrimento con UITableViewCells: http://engineering.twitter.com/2012/02/simple-strategies-for-smooth-animation.html - Mentre in questo articolo sono disponibili molti ottimi consigli, ce n'è uno in particolare che mi ha incuriosito :CoreGraphics - Blending only * part * of a view
I tweet in Twitter per iPhone 4.0 hanno un'ombra esterna su uno sfondo a trama sottile. Questo ha rappresentato una sfida, poiché la miscelazione è costosa. Abbiamo risolto questo problema riducendo l'area che Core Animation deve considerare non opaca, dividendo le aree d'ombra dall'area del contenuto della cella.
Utilizzando il simulatore iOS, cliccando Debug - colori Blended strati avrebbero rivelato qualcosa di simile:
Le aree contrassegnate in rosso si fondono, e la zona verde è opaco. Grande. Quello che l'articolo non menziona è: come posso implementarlo? A quanto mi risulta, un UIView è opaco o non lo è. Mi sembra che l'unico modo per ottenere questo risultato sarebbe con subviews, ma l'articolo afferma esplicitamente che come un'implementazione ingenuo:
Invece, le nostre cellule Tweet contengono una singola vista senza subviews; un singolo drawRect: disegna tutto.
Quindi, come faccio a troncare ciò che è opaco, e cosa non c'è nel mio singolo drawRect: metodo?
inviare loro una e-mail o twittare con la domanda: p riporto a SO quando si ottiene una risposta :) – haroldcampbell
Raggiunto a loro tramite Twitter: http://bit.ly/LK7lvs - si spera che possiamo ottenere il * right * answer :) – nrj
@nick Hai ancora una risposta? Sono sinceramente interessato Questa è stata una domanda fantastica e mi piacerebbe sapere se c'è un modo per rendere trasparente solo una parte di una vista. –