Ho sottoclassi UIImageView e ho provato a sovrascrivere drawRect in modo da poter disegnare sulla parte superiore dell'immagine utilizzando Quartz 2D. So che questa è una stupida domanda per principianti, ma non vedo cosa ho sbagliato. Ecco l'interfaccia:drawRect non viene chiamato nella sottoclasse di UIImageView
#import <UIKit/UIKit.h>
@interface UIImageViewCustom : UIImageView {
}
- (void)drawRect:(CGRect)rect;
@end
e l'implementazione:
#import "UIImageViewCustom.h"
@implementation UIImageViewCustom
- (id)initWithFrame:(CGRect)frame {
if (self = [super initWithFrame:frame]) {
}
return self;
}
- (void)drawRect:(CGRect)rect {
// do stuff
}
- (void)dealloc {
[super dealloc];
}
@end
Ho impostato un punto di interruzione su drawRect
e non è mai colpisce, mi porta a pensare che non viene mai chiamato a tutti. Non dovrebbe essere chiamato quando la vista viene caricata per la prima volta? L'ho sovrascritto erroneamente?
si prega di consultare la risposta aggiornata, mi dispiace per infastidire di nuovo. –
okies. esaminando la documentazione ho osservato che funzionerebbe se si crea una sottoclasse di UIView invece di UIIMageView, ora è possibile aggiungere le proprietà di UIImageView nella sottoclasse, l'ho fatto una sola volta per disegnare lo sfondo delle celle tableview, per maggiori dettagli è possibile check at.http: //stackoverflow.com/questions/1784827/draw-a-custom-cell-for-tableview-uitableview-with-changed-colors-and-separa –