首页 > 解决方案 > 如何在播放视频的 AVPlayer 上放置标签?

问题描述

如何在播放视频的 AVPlayer 上方或“顶部”放置标签?我已尝试按照另一篇 SO 帖子中的建议调整 Z 位置,但它不起作用,视频播放器似乎位于所有标签的前面。

    //this is my label

    self.commentLabel.layer.masksToBounds = YES;
    self.commentLabel.layer.cornerRadius = 15.0;
    [self.commentLabel sizeToFit];
    self.commentLabel.center = CGPointMake(self.view.frame.size.width/2,self.view.frame.size.height/1.4);
    self.commentLabel.layer.zPosition=100;

    //this is my video player

    self.playerViewController = [[AVPlayerViewController alloc] init];
    NSString*str3=[self.FRIENDDATA stringByReplacingOccurrencesOfString:@" " withString:@"_"];
    NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"http://my.website.com/%@/%@.mp4", str3,self.RANDOMDATA]];
    AVURLAsset *asset = [AVURLAsset assetWithURL: url];
    AVPlayerItem *item = [AVPlayerItem playerItemWithAsset: asset];
    AVPlayer * player = [[AVPlayer alloc] initWithPlayerItem: item];
    self.playerViewController.player = player;
    [self.playerViewController.view setFrame:self.referenceImageView.frame];
    self.playerViewController.view.layer.zPosition=0;
    self.playerViewController.showsPlaybackControls = YES;
    [self.view addSubview:self.playerViewController.view];

标签: iosobjective-c

解决方案


您是否尝试将标签子视图添加到 playerViewController ?

[self.playerViewController.view addSubview:self.commentLabel];

从代码中我不确定commentLabel 是否尚未初始化,或者它是否在代码中的其他位置或从情节提要中初始化。commentLabel在_playerViewController

像这样:

UILabel *commentLabel = [[UILabel alloc]initWithFrame:CGRectMake(self.view.frame.size.width/2, self.view.frame.size.height/1.4, 100, 100)];

[self.playerViewController.view addSubview:commentLabel];

那应该可以解决您的问题


推荐阅读