gpt4 book ai didi

objective-c - 新的 CALayer.contents 在调整 View 大小之前不会显示

转载 作者:太空狗 更新时间:2023-10-30 04:01:24 27 4
gpt4 key购买 nike

我有一个 CALayer 需要显示视频帧。每次渲染一帧(作为 CGImageRef)时,都会调用此方法:

- (void)displayFrame:(CGImageRef)frame {
[view layer].contents = (id)frame;
}

奇怪的是,起初,它不会显示任何内容。每次调整 view 大小时,都会显示一个新的 frame,但会一直显示,直到再次调整 view 大小时。

我该如何解决这个问题?

最佳答案

displayFrame: 是否在主线程上被调用?如果不是那么我发现它不会总是画画。您可以尝试使用 [CATransaction flush] 强制更新,例如:

- (void)displayFrame:(CGImageRef)frame {
[view layer].contents = (id)frame;
[CATransaction flush];
}

如果这不起作用,那么您可以尝试包含层构造代码以帮助识别该层的任何特性。

关于objective-c - 新的 CALayer.contents 在调整 View 大小之前不会显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7140465/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com