2011-12-16 45 views
11

Tôi đang sử dụng một số nhãn trong chế độ xem. Tôi muốn làm cho nhãn góc tròn trong ứng dụng iphone của tôi. Tôi sử dụng mã sau đây để làm điều này nhưng nó không hoạt động. Tôi đã có một số lỗi để sử dụng các thuộc tính đó.Cách sử dụng nhãn góc tròn trong iphone, Góc tròn UILabel

label.layer.borderColor = [UIColor blueColor].CGColor; 
label.layer.borderWidth = 4.0; 
label.layer.cornerRadius = 8; 
+0

Làm thế nào để đặt hình ảnh góc tròn làm nền của nhãn? – Sarah

+0

Bản sao có thể có của [Làm thế nào để tạo một UILabel dồn tròn trên iPhone?] (Http://stackoverflow.com/questions/510382/how-do-i-create-a-round-cornered-uilabel-on-the -iphone) – Besi

Trả lời

11

Khó để biết chắc chắn những gì bạn đang hỏi vì bạn không bao gồm các lỗi bạn đang nhận được. Bạn đã thêm khung công tác QuartzCore vào dự án của mình và #import <QuartzCore/CALayer.h> vào tệp có sửa đổi lớp không? Nếu không phải vậy, hãy thêm các lỗi và thông tin khác vào câu hỏi của bạn.

EDIT: bạn cũng có thể #import <QuartzCore/QuartzCore.h> như được đề xuất trong nhận xét. QuartzCore.h bao gồm CALayer.h cùng với các thành phần còn lại của các thành phần QuartzCore.

+0

đây là câu trả lời đúng. – Rog

+0

+1) nhập #import sẽ xóa tất cả các loại lỗi này. – Ishu

+0

@Xjones thanks :) –

1

Tôi sẽ tạo chế độ xem với các góc tròn và thêm nhãn vào chế độ xem đó.

13

Chỉ cần thêm #import <QuartzCore/QuartzCore.h> trong file .m bạn

và giả sử bạn có một UILabel *myLabel;

chỉ làm [myLabel.layer setCornerRadius:20]; // giá trị '20' có thể được thay đổi theo mong muốn của bạn :)

+0

@ Ajeet cảm ơn. –

+1

bạn có thể bỏ phiếu hoặc đánh dấu là câu trả lời chính xác. nó sẽ là tốt cho những người khác có cùng một vấn đề như của bạn, và có thể tham khảo bài SO của bạn. Cảm ơn bạn –

+4

Chỉ cần một mẹo (tôi đã phải thêm dòng này để làm cho nó hoạt động): myLabel.layer.masksToBounds = YES; – santuxus

16

tôi chuyển cùng một vấn đề, sử dụng UILabel với backgroundColor trong một ô và thêm hoạt động này vào hoạt động chính xác:

label.layer.cornerRadius=8.0; 
label.clipsToBounds=YES; 
3

This si mple code đủ cho RoundLabel

LabelName.layer.cornerRadius = LableName.frame.size.height/2; 
LabelName.layer.masksToBounds = YES;