Question

I am creating a customView and for example, would like to set the text color of the label and initialise the text of the label.

The initWithFrame is the generic function.

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        // Initialization code
    }
    return self;
}

I have tried initialising the label in the initWithFrame, but it doesn't work. But when I do it in awakeFromNib, it allows me to set the text color but not the text(this value comes from a dictionary)

-(void)awakeFromNib
{
    //setting of the label textcolor
} 

What would be the correct way to initialise the color and text of labels and other stuff?

Need some suggestions and guidance...

Edit:

-(void)viewDidLoad
{
   [self updateViewWithDictionary:dictPassed];
}

Something like this?

Was it helpful?

Solution

What I do in some project's is expose a public method like so:

- (void)updateViewWithDictionary:(NSDictionary *)confDictionary;

In that dictionary I pass the parameters I want, and inside the UIView's subview I update it according to what I want.

Edit 1:

Read wrongly your question, sorry. You have a custom UIView that you would like to be updated when your UIViewController starts, or when you actually use it. So you should have something like this:

@interface MyView : UIView
{

}

- (void)updateViewWithDictionary:(NSDictionary *)confDictionary;

@end

And from your viewDidLoad:

-(void)viewDidLoad
{
   [self.customView updateViewWithDictionary:dictPassed];
}
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top