Làm cách nào để thêm đường viền màu đen vào văn bản UILabel trắng?Phác thảo cho văn bản không có nhãn
Trả lời
Một tùy chọn là đặt bóng, có thể không chính xác những gì bạn muốn, nhưng đạt được hiệu ứng tương tự. Bạn có thể tự điều chỉnh offset:
UILabel *myLabel = ...;
lbl.shadowColor = [UIColor whiteColor];
lbl.shadowOffset = CGSizeMake(0, -1.0);
Xin lưu ý rằng bạn cũng có thể định nghĩa này trong giao diện Builder cho UILabel
của bạn.
shadow http://i.minus.com/jbiG0jVdOxJbgh.png
Nếu đây là không đủ cho bạn kiểm tra blog post này mà giao dịch với subclassing UILabel
để có được một hiệu ứng ánh sáng:
glow http://www.redrobotstudios.com/blog/wp-content/uploads/2010/04/glow1.png
Thực hiện việc này theo cách này hoặc là thêm đường viền mờ hoặc đường viền/đường viền được bù đắp. Xem liên kết này để có giải pháp tuyệt vời: http://stackoverflow.com/a/15877054/254598 – Maurizio
Đối với iOS5, theo cách thông thường là sử dụng CoreGraphics để đặt fill/stroke và sau đó render đồ họa. Nó có thể khá khó khăn để có được sự liên kết chính xác cho tất cả các kích cỡ phông chữ mặc dù.
Tôi khuyên bạn nên xem giải pháp của mình here. Bạn có thể sử dụng nó trực tiếp (nó cũng có bóng khuếch tán), hoặc đơn giản là chọn ra mã có viền. Đối với iOS6 có một giải pháp neater (nhỏ hơn) hoạt động tốt hơn. Hãy xem here.
Tôi chắc chắn this mã sẽ giải quyết được sự cố của bạn.
Trong lớp KSLabel.m thấy dòng mã này
// Outline color
self.textColor = [UIColor whiteColor];
thay đổi nó để
self.textColor = [UIColor blackColor];
và bạn sẽ thấy những viền đen của văn bản.
Tiết lộ: Tôi là nhà phát triển của THLabel.
Tôi đã phát hành một lớp con UILabel một lúc trước, cho phép phác thảo văn bản và các hiệu ứng khác. Bạn có thể tìm thấy ở đây: https://github.com/tobihagemann/THLabel
Tôi đang sử dụng Đồ họa cốt lõi và Đồ họa cốt lõi để đạt được hiệu quả.
Chỉ cần cài đặt nó, hoạt động hoàn hảo cho đến nay, cũng được thực hiện. – TaylorAllred
kiểm tra điều này: http: //stackoverflow.com/a/1424665/845115 –
bạn có nghĩa là viền đen không? – rakeshNS
@rakeshNS vâng tôi muốn viền đen xung quanh văn bản của nhãn. – hgpl