ios - 在 CALayer 中定位内容

标签 ios objective-c calayer avcapture

如何在 CALayer 中定位内容,使其缩放以适应宽度(保持纵横比)并定位在层的顶部?

更具体地说,我正在尝试使用 AVCaptureVideoPreviewLayer 实现此定位。如果我将预览层的 videoGravity 设置为 AVLayerVideoGravityResizeAspectFill,那么它将填充宽度但将内容垂直居中在框架中(切断顶部和底部)。

最佳答案

尝试使用 .contentGravity 属性 -

A constant that specifies how the layer's contents are positioned or scaled within its bounds

<CALayer>.contentsGravity = kCAGravityResizeAspect;

可能

CA_EXTERN NSString * const kCAGravityCenter
    __OSX_AVAILABLE_STARTING (__MAC_10_5, __IPHONE_2_0);
CA_EXTERN NSString * const kCAGravityTop
    __OSX_AVAILABLE_STARTING (__MAC_10_5, __IPHONE_2_0);
CA_EXTERN NSString * const kCAGravityBottom
    __OSX_AVAILABLE_STARTING (__MAC_10_5, __IPHONE_2_0);
CA_EXTERN NSString * const kCAGravityLeft
    __OSX_AVAILABLE_STARTING (__MAC_10_5, __IPHONE_2_0);
CA_EXTERN NSString * const kCAGravityRight
    __OSX_AVAILABLE_STARTING (__MAC_10_5, __IPHONE_2_0);
CA_EXTERN NSString * const kCAGravityTopLeft
    __OSX_AVAILABLE_STARTING (__MAC_10_5, __IPHONE_2_0);
CA_EXTERN NSString * const kCAGravityTopRight
    __OSX_AVAILABLE_STARTING (__MAC_10_5, __IPHONE_2_0);
CA_EXTERN NSString * const kCAGravityBottomLeft
    __OSX_AVAILABLE_STARTING (__MAC_10_5, __IPHONE_2_0);
CA_EXTERN NSString * const kCAGravityBottomRight
    __OSX_AVAILABLE_STARTING (__MAC_10_5, __IPHONE_2_0);
CA_EXTERN NSString * const kCAGravityResize
    __OSX_AVAILABLE_STARTING (__MAC_10_5, __IPHONE_2_0);
CA_EXTERN NSString * const kCAGravityResizeAspect
    __OSX_AVAILABLE_STARTING (__MAC_10_5, __IPHONE_2_0);
CA_EXTERN NSString * const kCAGravityResizeAspectFill
    __OSX_AVAILABLE_STARTING (__MAC_10_5, __IPHONE_2_0);

关于ios - 在 CALayer 中定位内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14615464/

相关文章:

ios - 在 UIWebView iOS 8 中呈现 PDF,导致 PDF 周围出现黑色边框

ios - 在 OSX x86-64 上交叉编译 ARM

ios - NSDate 谓词抛出 'Unable to parse the format string' 错误

ios - 我正在尝试使用 AVQueuePlayer 创建无缝音频循环,但是,我不知道为什么循环之间会有一个小的无声停顿?

iphone - 如何为 View 转换的一部分设置动画

objective-c - EMKey 链问题

ios - iOS 9 上存在 UITextField 和 Pixate Freestyle 崩溃

ios - UIView 带有圆角和阴影?

ios - 使用 UILabel 文本掩码显示 UIView

iOS, CGGradientCreateWithColorComponets 设置RGBA颜色