установить границу метки в iphone - PullRequest
11 голосов
/ 31 марта 2010

Как установить границу надписи, которая генерируется динамически (не из Интерфейсного Разработчика)?

Ответы [ 4 ]

29 голосов
/ 31 марта 2010

вы можете сделать это

Label.layer.borderColor = [UIColor whiteColor].CGColor;
Label.layer.borderWidth = 4.0;

перед этим нужно импортировать фреймворк QuartzCore / QuartzCore.h

3 голосов
/ 08 октября 2015

Swift версия

enter image description here

Установить границы метки

label.layer.borderWidth = 2.0

Установить цвет границы

label.layer.borderColor = UIColor.blueColor().CGColor

Использовать закругленные углы

label.layer.cornerRadius = 8

Оставить фоновый цвет в закругленных углах

label.layer.masksToBounds = true
1 голос
/ 31 марта 2010

Вы также можете попытаться создать подкласс для своей метки и переопределить метод drawRect: для рисования или границы, или как вам угодно:

- (void)drawRect:(CGRect)rect
{
    [super drawRect:rect];
    CGContextRef context = UIGraphicsGetCurrentContext();
    [[UIColor blackColor] setStroke];
    CGContextStrokeRect(context, self.bounds);
}
0 голосов
/ 31 марта 2010

Я не уверен, что вы можете по умолчанию с UILabel. Вы можете рассмотреть возможность использования только для чтения (field.editing = NO) UITextField и установки его borderStyle (что можно сделать программно с помощью UITextBorderStyle). Это может быть немного "тяжелым", хотя. Другим вариантом может быть подкласс UILabel для рисования вашей границы.

В качестве альтернативы, и в зависимости от ваших потребностей это может быть лучше, используйте подложку CALayer и нарисуйте границу, используя ее свойства borderColor и borderWidth.

...