gpt4 book ai didi

swift - 层变换矩阵(CATransform3D 等)但带有 IBDesignable?

转载 作者:搜寻专家 更新时间:2023-10-31 19:38:03 24 4
gpt4 key购买 nike

本类(class)将透视直立图像。

它工作得很好,但不能在带有 IBDesignable 的 Storyboard 中实时工作。这是非常可悲的。

有没有可能用CATransform3D之类的用IBDesignable在Storyboard上实时显示??

// Twist.swift .. twist on Y, perspective from the left
import UIKit
@IBDesignable
class Twist:UIViewController
{
@IBInspectable var perspective:CGFloat = 0.5 // -1 to 1

@IBOutlet var im:UIView! // the image you want to twist on y

override func prepareForInterfaceBuilder()
{ twist(perspective) }

override func viewDidAppear(animated: Bool)
{
twist(perspective)
super.viewWillAppear(animated)
}

func twist(f:CGFloat) // -1 to 1
{
// hinge around left edge
im.layer.anchorPoint = CGPointMake(0, 0.5)
im.center = CGPointMake(0.0, self.view.bounds.size.height/2.0)

// base transform, twist on y
var t:CATransform3D = CATransform3DIdentity
t.m34 = -1/500
im.layer.transform = t
im.layer.transform = CATransform3DRotate(t, f*CGFloat(M_PI_2), 0, 1, 0);
}
}

最佳答案

我已经遇到了实时预览转换的问题。看起来它只是行不通,可能还没有实现。

有一件事,只有 UIView 可以是@IBDesignable。在这里你可以看到两个@UIDesignable 类都无法呈现。我为示例创建了一个类 TwistableView。

Class inspector for custom view controller Class inspector for custom view

关于swift - 层变换矩阵(CATransform3D 等)但带有 IBDesignable?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37311649/

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