I am scaling UILabel text using UIPinchGestureRecognizer. But I am not able achieve the smooth edges or smoothness of Text.

code for scaling:
UIPinchGestureRecognizer *pinchRecognizer = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(scale:)];
[pinchRecognizer setDelegate:self];
[holderView addGestureRecognizer:pinchRecognizer];
-(void)scale:(id)sender {
[self bringSubviewToFront:[(UIPinchGestureRecognizer*)sender view]];
if([(UIPinchGestureRecognizer*)sender state] == UIGestureRecognizerStateEnded) {
lastScale = 1.0;
return;
}
CGFloat scale = 1.0 - (lastScale - [(UIPinchGestureRecognizer*)sender scale]);
CGAffineTransform currentTransform = [(UIPinchGestureRecognizer*)sender view].transform;
CGAffineTransform newTransform = CGAffineTransformScale(currentTransform, scale, scale);
[[(UIPinchGestureRecognizer*)sender view] setTransform:newTransform];
lastScale = [(UIPinchGestureRecognizer*)sender scale];
}

The problem is that you’re scaling using a transformation. That takes the original rendering and scales it up or down, but doesn’t change it. In other words: the “quality” doesn’t change, only at what size you’re displaying it. What you want instead is probably to do the following steps:
By changing the frame size the view is drawn again with the new size which will result in better quality than scaling up a smaller view.
I’m not sure whether changing the frame is possible during pinching (it might be messing with the recognizer), maybe you need to apply the transformation you’re doing right now and do the change-frame-size-method when the gesture is done to get a high quality version after the pinch is finished (you can see a similar pattern sometimes with scroll views).