KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I have some custom appearance properties in my view class (a descendant of UIView ). I want to customize the view appearance according to these properties, but I can’t do that inside the initializer, since the values set using [[MyClass appearance] setFoo:…] aren’t in effect at that point: @interface View : UIView @property(strong) UIColor *someColor UI_APPEARANCE_SELECTOR; @end @implementation View @synthesize someColor; // Somewhere in other code before the initializer is called: // [[View appearance] setSomeColor:[UIColor blackColor]]; - (id) initWithFrame: (CGRect) frame { self = [super initWithFrame:frame]; NSLog(@"%@", someColor); // nil return self; } @end They are already set in layoutSubviews , but that’s not a good point to perform the view customizations, since some customizations may trigger layoutSubviews again, leading to an endless loop. So, what’s a good point to perform the customizations? Or is there a way to trigger the code that applies the appearance values?
Tags (comma-separated)
Save Edits
Cancel