Sto tentando di creare una classe IBDesignable che può avere uno sfondo trasparente quando viene renderizzata in Interface Builder. Finora, ho ottenuto sfondi neri opachi. Ho creato una semplice dimostrazione del problema:Chiaro Le viste IBDesignable hanno uno sfondo nero
Ho inserito un UIView in questa scena in Interface Builder. Non puoi vederlo perché il suo sfondo è chiaro. Questo è quello che dovrebbe essere la scena nel formato.
L'unica differenza in questo screenshot è che ho impostato la classe del nostro punto di vista in precedenza invisibili di essere 'DesignableView'.
Ecco l'intera implementazione della classe DesignableView:
#import <UIKit/UIKit.h>
IB_DESIGNABLE
@interface DesignableView : UIView
@end
@implementation DesignableView
- (void)drawRect:(CGRect)rect {
//rendering code goes here
}
@end
C'è un modo per dare al IBDesignable visualizzare il corretto, sfondo trasparente?
Se non si utilizza 'drawRect:' si dovrebbero commentare fuori; effettua le prestazioni. Questo potrebbe anche essere il problema – Chris
È vero avere un'implementazione vuota di 'drawRect:' è una cattiva idea, tuttavia quel punto non è rilevante per questa domanda. In questo esempio, la funzione 'drawRect:' è vuota perché è il modo più semplice per riprodurre il problema di avere uno sfondo nero in IB. – BradB