View Single Post
After the zooming operation is finished, the final scale factor applied by UIScrollView (via blurry/ugly pixel scaling) is accumulated into the inner OUIScalingView.scale property. The UIScrollView's scale is then set back to 100% so that no pixel blurring is done.

The accumulated scale gets used when drawing just that scaling view, via a transform set up either in its draw rect, or if you are using OUITiledScalingView, in the OUIScalingViewTile.

OmniGraffle uses OUITiledScalingView as the superclass of its main canvas view, in fact.

So, this all explains why the UILabels don't get scaled. By design the UIScrollView scale is set back to 100% to avoid blurring and the UILabel's don't get drawn under the influence of the scale factor in the OUIScalingView since their parent view can't force them to draw at a scale factor either (any attempt to do so would scale up the bitmap for their layer w/o making the layer bitmap bigger).
CTO, The Omni Group