我想问一个关于通过CATransform3D
. 我知道如果你有一个 320x480 的视图,然后应用这个:
CATransform3D perspective = CATransform3DIdentity;
CGFloat zDistance = 1000;
perspective.m34 = 1.0 / -zDistance;
view.layer.sublayerTransform = perspective;
您创建了一个透视图,使观察者看起来像是直视屏幕中心,因此相同的转换看起来会有所不同,具体取决于正在转换的子视图在屏幕上的位置。例如,当视图位于屏幕中间时,倾斜视图如下所示:
如果它在左下角,它看起来像这样:
现在,我的问题是,仅当我正在转换的视图是另一个 320x480px 大视图的子视图时,才能使相对于屏幕的透视图起作用。但是,如果我要转换的视图是只有 100x100px 的视图的子视图怎么办?如果超级视图不是屏幕大小,有没有办法使透视相对于整个屏幕?提前致谢