1.我在正方形的區(qū)域裡顯示了本地的視頻,當(dāng)我關(guān)閉本地?cái)z像頭後修改了這個顯示視頻的UI的frame,我吧它改小了。
2.再次顯示本地視頻的時候除了在我指定的區(qū)域顯示了視頻外,在原來的區(qū)域類還遺留了之前關(guān)閉視頻時最後一幀的圖像。 我希望藍(lán)色框中搞得區(qū)域也為灰色
3.我現(xiàn)在想清空這最後一幀的圖像,請問我該怎麼處理呢?
我試過 removeFromSuperLayer 和 removeFromSuperView 以及向這個顯示視頻的UI上添加一層view 但是都沒有達(dá)到效果。
下面是我的效果圖
下面是我的核心程式碼:
elf.localVideoSurface = [AVCaptureVideoPreviewLayer layerWithSession: (AVCaptureSession*)session];
self.localVideoSurface.frame = CGRectMake(0, 0, self.theLocalView.frame.size.width, self.theLocalView.frame.size.height);
self.localVideoSurface.videoGravity = AVLayerVideoGravityResizeAspectFill;
[self.theLocalView.layer addSublayer:self.localVideoSurface];
我的問題已經(jīng)解決了。 不過方法不是清楚之前UIView上layer上渲染的影像,而是在這個之上再渲染一層新的UIView的layer,用這個方式來覆蓋掉之前的layer。
程式碼如下:
//覆蓋掉關(guān)閉影片時停留在theLocalView上的最後一格的影像
UIView *back = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.theLocalView.frame.size.width, self.theLocalView.frame.size.height)];
back.backgroundColor = backColor;
[self.theLocalView.layer addSublayer:back.layer];
back = nil;