簡體   English   中英

Swift iOS-使用CATransform3D .m34屬性更改Swift中的視角時,應用其他更改進行轉換

[英]Swift iOS -Apply additional changes to transform when using CATransform3D .m34 property to change perspective in Swift

我正在讀一本有關動畫的書,《 iOS核心動畫:高級技術》 本書位於目標C中。我不太精通目標C。我了解.m34屬性的作用,但是當我將本書的代碼應用於Swift時,視角不會改變。 問題是我似乎無法像這里解釋的那樣添加到現有的轉換中。

我的代碼:

var tranform = CATransform3DIdentiy
transfrom.m34 = -1 / 500
transform = CATransform3DMakerotation(CGFloat(Double.pi/4), 0, 1, 0) // this is just creating a new transform instead of adding to the existing one
viewIwantTransformed.layer.transfrom = transform

圖書代碼:

@implementation ViewController 
- (void) viewDidLoad 

 { [super viewDidLoad]; 

   // create a new transform CATransform3D 
   transform = CATransform3DIdentity;

   // apply perspective 
   transform.m34 = - 1.0 / 500.0; 

  // rotate by 45 degrees along the Y axis
  transform = CATransform3DRotate( transform, M_PI_4, 0, 1, 0);

  // apply to layer 
  self.viewIwantTransformed.layer.transform = transform; 

} @end

結果

在此處輸入圖片說明

嘗試這個

transform = CATransform3DRotate(transform, M_PI_4, 0, 1, 0) 

而是

transform = CATransform3DMakerotation(CGFloat(Double.pi/4, 0, 1, 0)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM