Làm cách nào để thêm hình nền vào nhãn UILabel trong Ứng dụng iPhone. Tôi đã cố gắng để làm điều đó thông qua IB nhưng không có kết quả.Thêm hình nền vào UILabel
Trả lời
Hãy thử làm việc đó với mã:
Objective-C:
theLabel.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"blah"]];
Swift:
theLabel.backgroundColor = UIColor(patternImage: UIImage(named: "blah")!)
Hoặc đặt một UIImageView
đằng sau nhãn (không khuyến khích).
Cập nhật: đặt UIImageView phía sau nhãn không được khuyến nghị vì bạn sẽ phải quản lý hai chế độ xem. Nhưng nếu bạn phải làm điều gì đó mà chỉ một UIImageView mới có thể làm được điều này vẫn là một cách tiếp cận tốt. Tôi nghi ngờ rằng ứng dụng của bạn sẽ thực sự chạy tốt hơn theo cách này.
nếu bạn muốn hình ảnh đó phải được kéo dài để lấp đầy Chiều rộng nhãn. thử mã này.
UILabel *myLabel=[[UILabel alloc] initWithFrame:CGRectMake(0, 0, 320, 20)];
UIImage *img = [UIImage imageNamed:@"a.png"];
CGSize imgSize = myLabel.frame.size;
UIGraphicsBeginImageContext(imgSize);
[img drawInRect:CGRectMake(0,0,imgSize.width,imgSize.height)];
UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
myLabel.backgroundColor = [UIColor colorWithPatternImage:newImage];
nó hoạt động nhưng vì lý do nào đó chất lượng không như mong đợi. tại sao vậy? – Esqarrouth
@Esq Nếu bạn kéo dài một hình ảnh, nó sẽ bị mất định nghĩa và không có chất lượng cao như ảnh gốc –
Làm thế nào về hình ảnh chín bản vá? Điều này có thể khắc phục vấn đề chất lượng? – byJeevan
Swift 2.2: thiết lập các hình nền với màu nền
UIGraphicsBeginImageContextWithOptions(stationNameLabel.frame.size, false, 0.0)
let context = UIGraphicsGetCurrentContext();
let components = CGColorGetComponents(color.CGColor)
CGContextSetRGBFillColor(context, components[0], components[1], components[2], 0.4);
CGContextFillRect(context, CGRectMake(0.0, 0.0, stationNameLabel.frame.size.width, stationNameLabel.frame.size.height));
targetImage.drawInRect(CGRectMake(0.0, 0.0, stationNameLabel.frame.size.width, stationNameLabel.frame.size.height))
let resultImage: UIImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
label.backgroundColor = UIColor(patternImage: resultImage)
@pixelfreak, phải không bạn. Ví dụ UIColor với mẫu hình ảnh màu có các vấn đề về hiệu suất nghiêm trọng khi gán cho backroundcolor
cell.cellLabel.backgroundColor = UIColor(patternImage: UIImage(named: "background")!)
- 1. Thêm UILabel vào UIImageView
- 2. Thêm hình nền vào UIScrollView
- 3. cách thêm hình nền vào hoạt động?
- 4. cách thêm chức năng cuộn vào UILabel
- 5. UILabel Đặt màu nền trong suốt?
- 6. Thêm hình nền vào Ruby on Rails 2 trong CSS
- 7. Thêm hình nền vào JPanel với các góc tròn
- 8. Cách thêm TITLE và ALT vào hình nền (CSS Sprites)?
- 9. Cách thêm hình nền vào Hoạt động Android?
- 10. Làm thế nào để thêm đệm vào một nhãn UILabel?
- 11. Cách thêm hình nền khác vào nền hiện tại trong css
- 12. Cocos2d thêm ảnh nền vào một lớp?
- 13. Thêm nền vào cảnh Andengine Android
- 14. cách thêm nhạc nền vào trang web?
- 15. NSLayoutConstraint cho nhãn UILabel để "tăng thêm"
- 16. Chèn hình nền vào CSS (Twitter Bootstrap)
- 17. Thêm hình ảnh vào thanh điều hướng
- 18. 100% độ mờ đục UILabel trên nền mờ 50% (UIView?)
- 19. đặt nền trong suốt cho UILabel cho ứng dụng iphone
- 20. Thêm Dập nổi vào nhãn UILabel trong navigationItem.titleView (như đã thấy với navigationItem.title)
- 21. Thêm hình ảnh vào UITextView
- 22. Thêm màu vào hình ảnh
- 23. Thêm hình ảnh vào JFrame
- 24. Android - Thêm hình ảnh vào dự án
- 25. Thêm hình nền vào ô có toạ độ góc đã biết
- 26. Thêm hình nền/màu vào DMG bằng hdiutil hoặc công cụ khác?
- 27. Thêm một lá chắn UAC vào một nút và giữ lại hình nền của nó?
- 28. Cách tạo hình ảnh từ UILabel?
- 29. Phát hiện Nhấp vào nút "Đặt hình nền" trong Bộ chọn hình nền động
- 30. UITableView có thể thu thập dữ liệu khi thêm UILabel với gócRadius vào mỗi ô
Cảm ơn rất nhiều. Đó là chính xác những gì tôi muốn. – Joy
Tính năng tuyệt vời và hữu ích, 1up! :) Nhưng tôi tự hỏi những gì Apple đã suy nghĩ khi thực hiện các hình ảnh như là một backgroundColor. Nó hoàn toàn phản trực giác! Thậm chí CSS có các thuộc tính riêng biệt cho hình ảnh màu của bg. Có lẽ đó là một số di sản từ giao diện người dùng của Apple trong quá khứ? –
Đã thử nghiệm và không hỗ trợ tính minh bạch PNG. Có thể có một số lừa cho nó? Tôi đã thử đặt backgroundColor thành clearColor trước khi đặt nó vào hình ảnh, chỉ dành cho thể thao. Nhưng không có hiệu lực, tất nhiên. –