Question

I don't know if I have chosen right title for my question.

I have developed an app and now I want to process text before assigning text to UILabel or UIView text property.

instead of

myLabel.text = story.text

do this:

myLabel.text = [story.text substituteCharactersOfText];

substituteCharactersOfText is a method of Category I have added to NSString class

so if I have a lot of label or another views, it will be difficult or errorProne to manually call this category method. (maybe I forgot one for anotherLabel.text)

so is there anyway to call this method automatically before assigning text to UILabel.text?

I think maybe there is way in objective-c I don't aware of (maybe an special use of delegate)!!

Was it helpful?

Solution

Subclass UILabel and override setText:

@implementation HALabel

- (void)setText:(NSString *)text {
    [super setText:[text substituteCharactersOfText]];
}

@end
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top