Trên CAShapeLayer
, tôi đã rút ra một đóng UIBezierPath
. Tôi có thể điền vào hình dạng này bằng cách thiết lập các fillColor
, tuy nhiên tôi muốn điền vào hình dạng với một gradient. Làm thế nào tôi có thể thiết lập các CAGradientLayer
vì vậy nó clip vào hình dạng vạch ra bởi con đường bezier?Điền đường dẫn có độ dốc trên iOS
8
A
Trả lời
5
Điều bạn muốn là mặt nạ. CAGradientlayer có một phương pháp có thể -setMask clip nó vào giới hạn của hình dạng của bạn như sau:
[gradientLayer setMask:shapeLayer];
19
Một dự thảo ví dụ sẽ là như sau:
...
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGContextRef context = UIGraphicsGetCurrentContext();
UIColor *gradientColor = [UIColor colorWithRed:0.51 green:0.0 blue:0.49 alpha:1.0];
NSArray *gradientColors = [NSArray arrayWithObjects:
(id)[UIColor blueColor].CGColor,
(id)gradientColor.CGColor,
(id)[UIColor redColor].CGColor, nil];
CGFloat gradientLocations[] = {0, 0.5, 1};
CGGradientRef gradient = CGGradientCreateWithColors(colorSpace, (CFArrayRef)gradientColors, gradientLocations);
UIBezierPath *roundedRectanglePath = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(10, 10, 200, 200) cornerRadius:6];
CGContextSaveGState(context);
[roundedRectanglePath fill];
[roundedRectanglePath addClip];
CGContextDrawLinearGradient(context, gradient, CGPointMake(10, 10), CGPointMake(210, 10), 0);
CGColorSpaceRelease(colorSpace);
CGGradientRelease(gradient);
...
Các vấn đề liên quan
- 1. Đường dẫn/đường dẫn Raphael.js có độ dốc?
- 2. Độ dốc CSS không hoạt động trên iOS
- 3. Đồ họa chính: Vẽ dọc theo một đường dẫn có độ dốc bình thường
- 4. Độ dốc màu Javascript
- 5. Văn bản có độ dốc trong Android
- 6. thêm dòng dựa trên độ dốc và chặn trong matplotlib?
- 7. Điền phần tử đường dẫn SVG với hình nền
- 8. Bộ chọn Android có hình nền và độ dốc
- 9. Mặt nạ dốc trên UIView
- 10. Có thể sử dụng độ dốc trong email không?
- 11. Đường cong Bezier khối: Độ dốc tối đa và tránh va chạm?
- 12. Không thể đột quỵ đường dẫn trên chế độ xem lớp phủ bản đồ
- 13. iOS CAKeyframeChế độ xoay vòngMode trên UIImageView
- 14. Tính toán độ dốc với python
- 15. Viền và độ dốc của CSS
- 16. Hoạt ảnh theo độ dốc SVG
- 17. Dự đoán tăng cường độ dốc trong môi trường sản xuất có độ trễ thấp?
- 18. Có thể thiết lập màu tô và màu nét và độ mờ trên đường dẫn VML bằng CSS không?
- 19. Độ tin cậy được tô bóng theo độ dốc
- 20. điền vào số treeview từ danh sách đường dẫn tệp trong wpf
- 21. Tại sao màu đường viền đảo ngược khi áp dụng độ dốc nền?
- 22. Làm thế nào để đánh dấu thay đổi độ dốc trong đường cong LOESS bằng ggplot2?
- 23. Vẽ một UIView tròn với độ dốc và thả bóng
- 24. Độ dốc tuyến tính SVG không hoạt động trong Safari
- 25. Kiểm tra xem đường dẫn có đang trên mạng
- 26. Phonegap: cách sử dụng đường dẫn tuyệt đối trên cả Android, iOS và trình duyệt?
- 27. Cách xác định độ dốc tuyến tính svg theo góc
- 28. Đường dẫn FillPath và đường nét Stroke
- 29. Thực hiện Tự động điền trong iOS
- 30. Nhiều đường dẫn Xem trên Node.js + Express
này là tốt đẹp, nhưng bạn cũng nên giải phóng gradient và không gian màu. – Sulthan
cảm ơn, tôi quên đặt chúng – WhiteTiger
kể từ khi bài gốc đặc trưng một Mask, tôi cũng bổ sung như sau: 'CGContextAddPath (bối cảnh, roundedRectanglePath.CGPath); ' ' CGContextClip (context);' trước khi 'CGContextDrawLinearGradient' – maggix