How to set CATextLayer in video according to frame?

前端 未结 3 1582
栀梦
栀梦 2020-12-12 04:20

I have try many think but no success yet, My question is that I Have one video on that I was provide a functionality to write text over the video and drag/drop that text ove

相关标签:
3条回答
  • 2020-12-12 05:03

    Your code seems fine, but not sure if the frame provided is wrong or right. If you have provided the right frame then add this code, in the end:-

    [titleLayer display];
    

    It will work now!

    0 讨论(0)
  • 2020-12-12 05:11

    Solved the issue see my below code. This was working fine with video.

    CATextLayer *titleLayer = [CATextLayer layer];
    titleLayer.string = self.strText;
    titleLayer.font = (__bridge CFTypeRef)(self.fonts);
    titleLayer.fontSize = fontsize;
    titleLayer.masksToBounds = NO;
    titleLayer.foregroundColor = self.textColor.CGColor;
    titleLayer.alignmentMode = kCAAlignmentCenter;
    //[self.txtVideoText setBackgroundColor:[UIColor colorWithHue:255.0/255.0 saturation:255.0/255.0 brightness:255.0/255.0 alpha:0.4]];
    //[self setAnchorPoint:self.txtVideoText.layer.anchorPoint forView:self.txtVideoText layer:titleLayer];
    titleLayer.anchorPoint = CGPointMake(0.5, 0.5);
    titleLayer.frame = CGRectMake(xx,-(yy-CGRectGetHeight(self.viewHeader.frame)), 480, 480); //You may need to adjust this for proper display
    [parentLayer addSublayer:titleLayer]; //ONLY IF WE ADDED TEXT
    
    0 讨论(0)
  • 2020-12-12 05:19

    Solved the issue see my below code. This was working fine with video

    CGFloat stickerX = (videoSize.width * (newsticker.frame.origin.x+imageView2.frame.origin.x))/_StickerView.frame.size.width;
    CGFloat stickerY = (videoSize.height * (newsticker.frame.origin.y+imageView2.frame.origin.y))/_StickerView.frame.size.height;
    
    titleLayer.frame = CGRectMake(stickerX,-(StickerY-CGRectGetHeight(self.viewHeader.frame)), 480, 480); //You may need to adjust this for proper display
    
    0 讨论(0)
提交回复
热议问题