2010-08-16 30 views
12

Độ dốc ngang đang hoạt động tốt. Có cách nào để có được một gradient màu dọc từ gradient ngang? Tôi đã thấy một câu hỏi liên quan đến việc này, nơi họ đã làm điều này bằng cách xoay các khung hình.gradient màu dọc

Có cách nào đơn giản hơn để đạt được độ dốc dọc không?

Trả lời

2

Làm thế nào để xoay nó 90º?

chỉnh sửa đánh giá từ nhận xét của bạn, có vẻ như bạn đang thực hiện việc này qua CAGradientLayer. CAGradientLayer là một phân lớp của CALayer, có thuộc tính transform. Thuộc tính transform này có một số CATransform3D, là cấu trúc biểu diễn một số loại chuyển đổi tuyến tính được áp dụng cho lớp (chẳng hạn như chia tỷ lệ, dịch hoặc xoay vòng).

Vì vậy, thực sự bạn chỉ cần make a rotational CATransform3D và đặt thành thuộc tính transform của CAGradientLayer.

Bạn cũng có thể thực hiện công việc này bằng cách không quan tâm đến các số startPointendPoint (điều này thực sự có thể đơn giản hơn).

+0

Tôi đã sử dụng gradient.startpoint và gradient.endpoint để quay ... có được không ...? Tôi cần xoay 180 độ .. tôi có sử dụng cùng một logic như trên không. – darshan

+0

@darshan đã trả lời câu trả lời –

76

Giá trị mặc định StartPointdùng cuối của sẽ có gradient hiển thị màu sắc của bạn từ trên xuống dưới (mà trong tâm trí của tôi là một gradient dọc). Nếu bạn muốn gradient để hiển thị từ trái sang phải (một lần nữa trong tâm trí của tôi đây là một gradient ngang), sử dụng mã này trên bạn CAGradientLayer:

[gradientLayer setStartPoint:CGPointMake(0.0, 0.5)]; 
    [gradientLayer setEndPoint:CGPointMake(1.0, 0.5)]; 

Một 3D chuyển đổi là không cần thiết.

+0

một người tốt 1 – Warewolf