Quartz 框架 (Mac) 需要说明

发布于 2024-10-17 08:27:06 字数 203 浏览 6 评论 0原文

我有一些标签需要旋转,我之前问了一个有关如何旋转的问题:

旋转标签

显然,最好的方法是通过 Quartz 框架的图层属性?有人可以给新手解释一下如何做到这一点吗? :) 我会尽快给出答案!

扎克

I have some labels I need to be rotated, and I asked a question earlier about how to do so:

Rotating Labels

Apparently the best way to do this is via the layer property of the Quartz Framework? Can someone give a newbie an explanation on how to do this? :) I will award an answer quickly!

Zach

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

上课铃就是安魂曲 2024-10-24 08:27:06

您可以简单地使用 NSView 的 setBoundsRotation: 方法来设置它,而不需要 CoreAnimation。

如果你真的想使用 CoreAnimation 你会这样:

// make NSView myView a layer-backed view
[myView setWantsLayer:YES];
// now get that CALayer and set the affineTransform of it, specifying the angle
[myView.layer setAffineTransform:CGAffineTransformMakeRotation(M_PI)];

You could simply use NSView's setBoundsRotation: method to set it without CoreAnimation.

If you really want to use CoreAnimation you would go like this:

// make NSView myView a layer-backed view
[myView setWantsLayer:YES];
// now get that CALayer and set the affineTransform of it, specifying the angle
[myView.layer setAffineTransform:CGAffineTransformMakeRotation(M_PI)];
°如果伤别离去 2024-10-24 08:27:06

Layer 是 UIView 的一个属性,它为您提供了一个 CALayer 类型的对象,您可以对其应用转换,例如

CALayer* layer = theLabel.layer;
[layer setAffineTransform:CGAffineTransformMakeRotation(M_PI)];

会给您一个颠倒的标签。

layer is a property of UIView and gives you an object of type CALayer to which you can apply a transformation, like

CALayer* layer = theLabel.layer;
[layer setAffineTransform:CGAffineTransformMakeRotation(M_PI)];

which will give you an upside down label.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文