Tôi có cảm giác tôi đang xem một số thứ cơ bản, nhưng cách nào tốt hơn để tìm thấy nó hơn là sai trên internet?Thuộc tính CAGradientLayer không hoạt ảnh trong khối hoạt ảnh UIView
Tôi có giao diện người dùng khá cơ bản. Chế độ xem cho số UIViewController
của tôi là một phân lớp có +layerClass
là CAGradientLayer
. Tùy thuộc vào hành động của người dùng, tôi cần di chuyển một số phần tử giao diện người dùng xung quanh và thay đổi giá trị của độ dốc của nền. Mã này trông giống như sau:
[UIView animateWithDuration:0.3 animations:^{
self.subview1.frame = CGRectMake(...);
self.subview2.frame = CGRectMake(...);
self.subview2.alpha = 0;
NSArray* newColors = [NSArray arrayWithObjects:
(id)firstColor.CGColor,
(id)secondColor.CGColor,
nil];
[(CAGradientLayer *)self.layer setColors:newColors];
}];
Vấn đề là những thay đổi tôi thực hiện trong khối này đến subviews động tốt (thứ di chuyển và fades), nhưng sự thay đổi màu sắc của độ dốc thì không. Nó chỉ hoán đổi.
Hiện tại, the documentation does say mã hoạt ảnh chính trong khối hoạt ảnh sẽ không kế thừa thuộc tính của khối (thời lượng, giãn, v.v ...). Nhưng đó có phải là trường hợp không xác định được giao dịch hoạt hình không? (Ý nghĩa của các tài liệu có vẻ là bạn sẽ nhận được một hình ảnh động mặc định, nơi tôi không nhận được.)
Tôi có để sử dụng rõ ràng CAAnimation
để thực hiện tác vụ này không? (Và nếu có, tại sao?)
Tìm kiếm tuyệt vời! Sẽ không bao giờ đoán được điều này. –