In my project, I have an UILabel within a view. I have to adjust the font size with respect to scale value of recognizer. If I use transform directly frame of the view won't get updated, eventually my text will not be visible fully.
Currently, I am doing the following,
CGSize recognizerViewNewSize = [[recognizer view] frame].size;
recognizerViewNewSize.width *= [recognizer scale];
recognizerViewNewSize.height *= [recognizer scale];
CGRect recognizerViewFrame = [[recognizer view] frame];
recognizerViewFrame.size = recognizerViewNewSize;
[[recognizer view] setFrame:recognizerViewFrame];
While zooming the label inside the view got disappeared. Anything wrong with it? I have set up the label as follows,
UILabel *label = [[UILabel alloc] initWithFrame:[self bounds]];
[label setText:labelText];
[label setFont:labelFont];
[label setBackgroundColor:[UIColor redColor]];
[label setNumberOfLines:0];
[label setAdjustsFontSizeToFitWidth:YES];
[label sizeToFit];
[label setTextAlignment:NSTextAlignmentCenter];
[label setAutoresizingMask:(UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleRightMargin)];
[label setUserInteractionEnabled:YES];
CGRect labelFrame = [label frame];
CGRect selfFrame = [self frame];
selfFrame.size = labelFrame.size;
[self setFrame:selfFrame];
[self addSubview:label];
[self setLabel:label];