Text in einem CAShapeLayer anzeigen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Text in einem CAShapeLayer anzeigen

    Guten Morgen,


    ich füge wie folgt einen CATextLayer zu einem CAShapeLayer hinzu, um darin einen Text anzuzeigen:

    C-Quellcode

    1. _layer = [CAShapeLayer layer];
    2. _layer.fillColor = nil;
    3. _labelLayer = [CATextLayer layer];
    4. _labelLayer.fontSize = 15.0;
    5. _labelLayer.string = @"Raum";
    6. _labelLayer.alignmentMode = kCAAlignmentCenter;
    7. _labelLayer.foregroundColor = [[UIColor darkBlueColor] CGColor];
    8. _labelLayer.contentsScale = [UIScreen mainScreen].scale;
    9. [_layer addSublayer:_labelLayer];
    Leider wird seit dem ich diesen CATextLayer aufgenommen habe verhindert, dass folgende Methode einen 'Touch' in meinen haupt-layer erkennt.

    Quellcode

    1. - (BOOL)containsPoint:(CGPoint)point {
    2. BOOL layerContainsPoint = CGPathContainsPoint(_layer.path, NULL, [_layer convertPoint:point fromLayer:_layer.superlayer], YES);
    3. return layerContainsPoint;
    4. }
    Ebenso ist es so, dass der CATextLayer nach zwei Klicks verschindet. Danach kann ich die Haupt-Layer auch wieder selektieren. Kann sich dieses verhalten jemand erklären? Beim initialisieren des haupt-Layers setze ich das Frame vom Text-Layer wie folgt:


    Quellcode

    1. shape.labelLayer.frame = CGRectMake(0, (frame.size.height / 2) - (25.0 / 2), frame.size.width, 25.0);
    Man kann alles schaffen. Man muss es nur wollen ;)
    www.regetskcob.github.io