2016-11-26 132 views
0

我是Swift的新手,尝试在学习时构建交互式书籍。我使用CATransform3DMakeRotation创建了封面效果。动画中的子视图堆叠

enter image description here



正如你所看到的,问题是当我叠的意见。如果我尝试添加封底,则在动画触发时堆叠顺序会丢失。

我迄今为止代码:

let bookcontainerwidth = 400 
let bookcontainerheight = 200 
let bookcoverwidth = bookcontainerwidth/2 
let bookcoverheight = bookcontainerheight 

let flipspeed = 2.0 

//container 
let container = UIView(frame: CGRect(x: 0, y: 0, width: bookcontainerwidth, height: bookcontainerheight)) 
container.backgroundColor = UIColor.white 

//back cover 
let backcover = UIButton(frame: CGRect(x: bookcontainerwidth/2, y: 0, width: bookcoverwidth, height: bookcoverheight)) 
backcover.backgroundColor = UIColor.darkGray 
backcover.setTitle("Back", for: UIControlState.normal) 

//front cover 
let frontcover = UIButton(frame: CGRect(x: bookcontainerwidth/2, y: 0, width: bookcoverwidth, height: bookcoverheight)) 
frontcover.backgroundColor = UIColor.gray 
frontcover.addTarget(receiver, action: #selector(opencover), for: .touchUpInside) 
frontcover.setTitle("Front", for: UIControlState.normal) 
frontcover.layer.anchorPoint = CGPoint(x: 0.0, y: 0.5); 
frontcover.center = CGPoint(x:bookcoverwidth, y: bookcoverheight/2); 

container.addSubview(backcover) 
container.addSubview(frontcover) 


func opencover(){ 

    UIView.animate(withDuration: flipspeed){() -> Void in 

     //these do not work 
     //container.bringSubview(toFront: frontcover) 
     //container.sendSubview(toBack: backcover) 

     frontcover.layer.transform = CATransform3DMakeRotation(CGFloat(M_PI), 0.0, 1.0, 0.0); 
    } 

} 

打开任何和所有的反馈。正如我所说我是一个noob。例如,我使用UIButton,因为我希望封面是可点击的。不知道这是否正确;)

谢谢!

回答