Zoom UILabel & Re-render font at correct size

后端 未结 8 2426
情歌与酒
情歌与酒 2020-12-13 07:23

I have a multi-line UILabel that I want to enable zooming on.

I embedded it with a UIScrollView and set min zoom to .25 and max zoom to 4.

8条回答
  •  生来不讨喜
    2020-12-13 08:23

    I implemented Scrimmers's solution by subclassing UILabel as DetailedUILabel with overriding methods like this;

    import QuartzCore

    #import 
    

    override init method, initWithFrame whichever you want.

    - (id)init
    {
        self = [super init];
        if (self) {
            CATiledLayer *tiledLayer = (CATiledLayer *)self.layer;
            tiledLayer.levelsOfDetailBias = 4;
            tiledLayer.levelsOfDetail = 4;
            self.opaque = YES;
        }
        return self;
    }
    

    and layerClass, class method.

    + (Class)layerClass {
        return [CATiledLayer class];
    }
    

提交回复
热议问题