2013-02-18 8 views
8
NSString *urlPath; 
    NSURL *videoUrl; 

    urlPath = [[NSBundle mainBundle] pathForResource:@"fogLoop" ofType:@"mp4"]; 
    videoUrl = [NSURL fileURLWithPath:urlPath]; 

    avPlayer = [AVPlayer playerWithURL:videoUrl]; 
    avPlayerLayer = [AVPlayerLayer playerLayerWithPlayer:avPlayer]; 

    avPlayerLayer.frame = videoView.layer.bounds; 

    avPlayerLayer.videoGravity = AVLayerVideoGravityResizeAspectFill; 

    [videoView.layer addSublayer: avPlayerLayer]; 

    avPlayer.actionAtItemEnd = AVPlayerActionAtItemEndNone; 

    [[NSNotificationCenter defaultCenter] addObserver:self 
              selector:@selector(playerItemDidReachEnd:) 
               name:AVPlayerItemDidPlayToEndTimeNotification 
               object:[avPlayer currentItem]]; 

    [avPlayer play]; 

Ich habe mehrere UILabels in dieser Ansicht. Ich möchte nur das Video als Hintergrundelement wirklich. Mit diesem Code scheint es über alle UI-Elemente zu spielen. Wie bringe ich es in den Hintergrund?AVPlayer - UILabel nicht über Video sichtbar

+0

können Sie die Art von avPlayer und avPlayerLayer erklären? –

Antwort

7

Sie können die zPosition-Eigenschaft des Layers der Ansicht (es ist ein CALayer-Objekt) verwenden, um den Z-Index der Ansicht zu ändern.

theView.layer.zPosition = 1; 

und bringt Etiketten nach vorne

+0

Das hat mich verrückt gemacht - danke für die einfache Lösung! –

Verwandte Themen