2016-11-26 91 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,因爲我希望封面是可點擊的。不知道這是否正確;)

謝謝!

回答