ios - UIView Transform 属性倾斜一个圆给它一个 3D 外观

标签 ios uiview cgaffinetransform catransform3drotate

我正在使用添加了 MKCircleViewMKMapView。它继承自 UIView,因此我可以使用 transform 属性。

它在没有变换的情况下看起来很平坦,并且在图钉旁边看起来很奇怪,因为它是 3D 的:

enter image description here

我想让它看起来类似于:

enter image description here

我尝试过设置 CATransform3DRotate 的示例,但涉及的数学不是我的技能,所以没有什么比这更接近了。

我该怎么做?

最佳答案

我会使用 2d 缩放伪造它

CGContextScaleCTM

您可以对每个 UIView 执行此操作:

UIView *v = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 5, 5)];
CGAffineTransform scale = CGAffineTransformMakeScale(1.0f, 0.6f);
[v setTransform:scale];

按因子缩放 (1.0, 0.6),大功告成!

如果这没有帮助,您应该做更多,创建您自己的自定义 map 叠加层,如 this tutorial 中所述。

祝你好运!

关于ios - UIView Transform 属性倾斜一个圆给它一个 3D 外观,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12945268/

相关文章:

ios - 如何检测用户在 iOS 中使用了语音输入?

ios - 如何将Alfresco集成到我的ios应用程序?

ios - iPhone 6和iPhone 6 Plus的应用程序屏幕顶部和底部有1像素黑线

ios - 两点坐标之间的角度以相应地旋转图像

iphone - UITextView 上的 CGAffineTransformMakeScale

ios - 如何在 SKScene 转换之间设置微调器?

iphone - 如何在启动时卡住 UI?

objective-c - 什么是 Controller 类?

cocoa-touch - 使用自动布局视觉格式字符串均匀分布间距

objective-c - 从 CGAffineTransform 中获取缩放转换