swift – 层变换矩阵(CATransform3D等)但具有IBDesignable?
发布时间:2020-12-14 04:31:06 所属栏目:百科 来源:网络整理
导读:本课程将透视直立图像. 它完美地工作但是在IBDesignable的Storyboard中不能正常工作.哪个很难过. 是否可以使用CATransform3D等在带有IBDesignable的Storyboard上进行实时显示? // Twist.swift .. twist on Y,perspective from the leftimport UIKit@IBDesig
|
本课程将透视直立图像.
它完美地工作但是在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),1,0);
}
}
解决方法
我已经遇到了实时预览转换的问题.它似乎不起作用,也许还没有实现.
有一件事,只有UIViews可以是@IBDesignable.在这里,您可以看到无法呈现两个@UIDesignable类.我为这个例子创建了一个Class TwistableView.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |


