Tôi không thể tìm ra cách sử dụng CATransform3DMakeRotation()
. Ai đó có thể cho tôi biết cách sử dụng nó không?CATransform3DMakeRotation được sử dụng như thế nào?
Tôi nghĩ thông số đầu tiên là góc, phải không? Nhưng ba cái còn lại là gì?
Tôi không thể tìm ra cách sử dụng CATransform3DMakeRotation()
. Ai đó có thể cho tôi biết cách sử dụng nó không?CATransform3DMakeRotation được sử dụng như thế nào?
Tôi nghĩ thông số đầu tiên là góc, phải không? Nhưng ba cái còn lại là gì?
Đầu tiên là góc theo radian, 3 tham số khác là trục (x, y, z). Vì vậy, ví dụ nếu bạn muốn xoay 180 độ quanh trục z chỉ gọi hàm như thế này:
myView.layer.transform = CATransform3DMakeRotation(M_PI, 0.0, 0.0, 1.0);
và áp dụng kết quả để biến đổi thuộc tính của quan điểm bạn muốn xoay.
Chúng đại diện cho trục mà bạn muốn xoay. Sử dụng 0,0,1 để xoay trong mặt phẳng của màn hình.
Có thể bạn sẽ tìm thấy những hữu ích khi sử dụng radian:
CGFloat DegreesToRadians(CGFloat degrees)
{
return degrees * M_PI/180;
};
CGFloat RadiansToDegrees(CGFloat radians)
{
return radians * 180/M_PI;
};
Xem thêm Core Animation Chức năng tham chiếu cho định nghĩa của hàm: http://developer.apple.com/library/mac/documentation /Cocoa/Reference/CoreAnimation_functions/Reference/reference.html#//apple_ref/c/func/CATransform3DMakeRotation –
vì vậy về cơ bản tôi chỉ đặt góc và đặt 1.0 trên x, y hoặc z mà tôi muốn sử dụng? nó luôn luôn là 1.0? –
@Dan - Không, không phải lúc nào cũng 1.0 cho các trục. Các thành phần X, Y và Z xác định trục xoay vòng nào diễn ra. Thiết lập 1.0 cho một thành phần, và để giá trị kia ở mức 0.0, xác định một vòng quay về trục X, Y hoặc Z, nhưng bạn có thể xoay quanh bất kỳ hướng tùy ý nào. Điều này cho phép bạn thao tác các chế độ xem và lớp theo cách thực sự 3 chiều. –