2015-09-06 6 views
8

У меня есть ярлык с текстом:Xcode: как добавить маркер/дополнение к надписи?

enter image description here

Однако, я хочу иметь больше дополнения (и для края, чтобы быть немного округлены, если это возможно). Но когда я растягиваю ярлык в своем раскадровке так, что у него, кажется, есть отступы, а затем я перезапускаю симулятор, он не добавляет к нему дополнения.

Как мне это сделать? Кстати, я использую Автокомпоновку + Objective C

+0

Я не уверен, что помогает так Я никогда этого не делал, но, возможно, это помогает. http://stackoverflow.com/questions/3476646/uilabel-text-margin – PeterPan

+0

Есть ли способ сделать это через раскадровки? – Edmund

ответ

9

Если вы хотите перейти по пути ограничений компоновки, это, вероятно, подходит для вас:

Вам следует использовать контейнерный вид и поместить в него ярлык. Затем добавьте ограничения для метки, которые будут эквивалентны заполнению.

enter image description here

Выберите метку и нажмите на панели ограничений, в правом нижнем углу в раскадровки файле.

Label's constraints to container view

С этикеткой выбранного применяются ограничения макета, как показано выше (убедитесь, что вы выбрали красные «линии», так что ограничения фактически применяются).

End result

Оранжевый взгляд вид контейнера. Этикетка находится прямо внутри этого.

2

Вы можете добавить маржу с

yourLabel.frame = CGRectMake(0,0,100,100) 
+2

Необходимо редактировать ограничения при использовании автозапуска, а не фреймов. – oltman

2

Вам необходимо переопределить метод DrawRect UILabel в

код примера:

#import "OCPaddedLabel.h" 
#define PAD 10.0f 
#define PAD_VERT 6.0f 

@implementation OCPaddedLabel 

- (void)drawTextInRect:(CGRect)rect { 
    UIEdgeInsets insets = {PAD_VERT, PAD, PAD_VERT, PAD}; 
    [super drawTextInRect:UIEdgeInsetsInsetRect(rect, insets)]; 
} 

если вы хотел бы добавить закругленные углы, вам необходимо:

label.layer.cornerRadius = 15.0f; 
label.layer.masksToBounds = YES; 
2

Вы можете добавить круглые углы из раскадровки, выберите свой UILabel (или любой вид) и перейдите к инспектору, в разделе инспектора идентификации добавьте значение, как показано на рисунке.

enter image description here

2

Чтобы изменить отступы на этикетке с цветом фона, текст выравнивается влево или вправо, сначала выберите метку затем в инспекторе атрибутов в верхнем and change text from Plain to Attributed in the dropdown menu

Выберите выравнивание текст (в данном примере это выравнивает справа) click on the 3 dot menu button to the far right to open additional settings and change Text-Direction from Natural to Right To Left

текст в этикетке должны теперь иметь немного обивка на правой стороне

Смежные вопросы