J'ai plusieurs UITextView
s dans plusieurs ViewController
s. Dans le passé, quand j'ai quelques exemples de besoin d'un dessin personnalisé pour un TextView
ou Label
, etc Je voudrais simplement ajuster le dessin dans viewWillAppear
à l'intérieur du VC qui possédait l'objet de l'interface utilisateur. Cette fois, il me faudra plusieurs instances à personnaliser.Quoi de plus efficace, remplaçant drawRect ou utilisant viewWillAppear
Serait-il plus approprié de simplement créer un UITextView
sous-classé et d'inclure le code de dessin dans drawRect
par rapport au fait que le même code de dessin soit réparti sur plusieurs VC. Je suis surtout inquiet pour la performance. La maintenabilité du code est une préoccupation secondaire cependant.
Pour être clair, ce que j'utiliserais dans drawRect:
- (void)drawRect:(CGRect)rect {
self.layer.cornerRadius = 10;
self.clipsToBounds = YES;
}
Ainsi, après d'autres tests, initWithFrame
ne sont pas appelés, mais initWithCoder
fait. J'ai également constaté que initWithCoder
est appelé une fois et ainsi est drawRect
. Dans mon cas d'utilisation (un StaticCellTableView
avec le UITextView
dans une cellule, quelle serait la différence?
J'ai essayé de mettre le code de dessin dans '- (id) initWithFrame: (CGRect) frame', mais cela n'est pas appelé. J'ai également essayé de surcharger 'init', mais cela ne se fait pas non plus. –
Comment charger l'UIView? .XIB/Storyboard? Si c'est le cas -> initWithCoder –
Je le charge en utilisant Storyboards. J'ai trouvé que initWithCoder fonctionne, mais avec testing, il s'appelle le même nombre de fois que drawRect est appelé. Quelle serait la différence entre l'utilisation des deux alors? –