Tôi có UIImageView và tôi muốn thêm lớp phủ màu đen lên trên nó. Cách tốt nhất để làm điều này mà không cần phải ghi đè drawRect là gì? Tôi đã nghĩ đến việc thêm một CALayer lên trên nó. Nhưng không chắc chắn làm thế nào để có được một CALayer màu đen với một .3 alpha.thêm lớp phủ màu đen với độ mờ đục 0,3 trên UIImageView
Trả lời
Một cái gì đó như thế này?
UIView *overlay = [[UIView alloc] initWithFrame:CGRectMake(0, 0, myImageView.frame.size.width, myImageView.frame.size.height/2)];
[overlay setBackgroundColor:[UIColor colorWithRed:0 green:0 blue:0 alpha:0.3]];
[myImageView addSubview:overlay];
Bạn có nghĩ đến việc thêm UIView
với nền màu đenColor và 0,3 alpha làm chế độ xem phụ cho chế độ xem hình ảnh không?
này cũng tương tự như câu trả lời của MDT trừ sử dụng tài sản CALayer:
UIView *blackOverlay = [[UIView alloc] initWithFrame: imageView.frame];
blackOverlay.layer.backgroundColor = [[UIColor blackColor] CGColor];
blackOverlay.layer.opacity = 0.3f;
[self.view addSubview: blackOverlay];
Uh oh, bạn đã thực hiện một boo boo. Màu nền của CALayer là CGColor, không phải là UIColor ^^ ;. – borrrden
Câu trả lời MDT là đúng. Đây chỉ là một cách khác để sử dụng một số CAGradientLayer
bên cạnh UIView
. Tôi nghĩ rằng nó sẽ làm cho những gì bạn muốn với các tùy chọn đồ họa hơn.
đầu tiên bạn nên thêm
#import <QuartzCore/QuartzCore.h>
đến và đi bất cứ nơi nào bạn ViewController.m
mà bạn muốn thêm lớp phủ này để UIImage
sử dụng của bạn:
CAGradientLayer *gradientLayer = [CAGradientLayer layer];
gradientLayer.frame = myImageView.layer.bounds;
gradientLayer.colors = [NSArray arrayWithObjects:
(id)[UIColor colorWithWhite:0.9f alpha:0.7f].CGColor,
(id)[UIColor colorWithWhite:0.0f alpha:0.3f].CGColor,
nil];
gradientLayer.locations = [NSArray arrayWithObjects:
[NSNumber numberWithFloat:0.0f],
[NSNumber numberWithFloat:0.5f],
nil];
//If you want to have a border for this layer also
gradientLayer.borderColor = [UIColor colorWithWhite:1.0f alpha:1.0f].CGColor;
gradientLayer.borderWidth = 1;
[myImageView.layer addSublayer:gradientLayer];
Tôi hy vọng điều này sẽ giúp bạn thực hiện nó
bạn có thể xây dựng nó plz? –
Nhờ Mick MacCallum
Swift 3 Version
let overlay: UIView = UIView(frame: CGRect(x: 0, y: 0, width: cell.imageView.frame.size.width, height: cell.imageView.frame.size.height))
overlay.backgroundColor = UIColor(red: 0/255, green: 0/255, blue: 0/255, alpha: 0.1)
cell.imageView.addSubview(overlay)
Tôi đã sử dụng cho Swift 2,2
let overlay: UIView = UIView(frame: CGRectMake(0, 0, cell.imageView.frame.size.width, cell.imageView.frame.size.height))
overlay.backgroundColor = UIColor(red: 0/255, green: 0/255, blue: 0/255, alpha: 0.1)
cell.imageView.addSubview(overlay)
- 1. thay đổi kích thước lớp phủ màu đen mờ của lớp phủ UISearchDisplayController
- 2. CSS - Văn bản mờ đục trên div độ mờ thấp?
- 3. Lớp phủ màu đen và trắng cho một MKMapView
- 4. 100% độ mờ đục UILabel trên nền mờ 50% (UIView?)
- 5. UIView: mờ đục so với alpha so với độ mờ
- 6. Lớp phủ màu Android - Chế độ PorterDuff
- 7. Làm cách nào để giảm độ mờ đục của lớp alpha trong bộ lọc svg?
- 8. Tạo lớp phủ mờ animatable với lớp Animation Lõi
- 9. Thay đổi âm thanh dẫn trên beaglebone màu đen với lớp phủ cây thiết bị
- 10. SolidColorBrush với Opacity trên nền đen
- 11. Sửa đổi độ mờ đục alpha của biến LESS
- 12. Thuộc tính mờ đục UIView
- 13. Twitter toolstip và độ mờ bật lên và lớp phủ bật lên
- 14. DrawingContext.DrawLine: Bút không có độ mờ đục đầy đủ?
- 15. Độ mờ CSS - màu nền
- 16. độ mờ đục css khi di chuột qua div
- 17. jquery fadeIn() từ độ mờ đục: 0,1 - có thể?
- 18. Các sự cố khi làm mờ UIImageView trên iPhone
- 19. Thay đổi hiệu ứng màu/hiệu ứng hình ảnh/lớp phủ jquery-ui
- 20. Lớp phủ màu di chuột hình ảnh jQuery
- 21. jqPlot - Làm cách nào để thay đổi độ mờ đục hoặc z-index của canvasOverlay?
- 22. Cách áp dụng độ dốc CSS trên văn bản, từ màu trong suốt đến màu đục:
- 23. Lớp phủ hình ảnh CSS có màu sắc và độ trong suốt
- 24. Cách kiểm soát độ mờ đục của điểm đánh dấu trên bản đồ google
- 25. Lớp phủ văn bản và màu nền trên hình ảnh
- 26. Sử dụng độ mờ đục phù hợp với các DIV lồng nhau?
- 27. Lớp phủ NSView trên NSScrollView
- 28. Đặt độ mờ của phần tử trong div với độ mờ được xác định bởi CSS?
- 29. Độ mờ bóng văn bản
- 30. Mobile Safari lọc màu xám thêm mờ
Tôi không nghĩ rằng bạn có nghĩa vụ phải thêm subviews để UIImageView. –
@ HermanJ.RadtkeIII tại sao bạn lại nói vậy? –
[Nhận xét] này (http://stackoverflow.com/questions/4892770/why-cant-you-add-a-subview-to-a-uiimageview-that-is-the-view-outlet-of-a- uiview # comment21186181_4892770) nói tốt nhất. –