Выравнивание текста UIButton?
Я создаю несколько кнопок. На кнопке я показываю дату и идентификатор ссылки, заданные пользователем. Я хочу, чтобы эти данные были выровнены по кнопке.
Что я пробовал:
[button.titleLabel setTextAlignment:UITextAlignmentLeft];
button.titleLabel.textAlignment = UITextAlignmentLeft;
Но это не сработает.
- (void)viewDidLoad
{
[super viewDidLoad];
[scrollView setScrollEnabled:YES];
[scrollView setContentSize:CGSizeMake(320, 500)];
int i = 0;
for (CalculatorData *data in calcDatas) {
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
button.frame = CGRectMake(1 , 20 + i*40, 295, 30);
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"MM/dd/yyyy HH:MM:SS"];
NSString *dateString = [dateFormat stringFromDate:data.updateDate];
NSString *title = [NSString stringWithFormat:@"%@ : %@",dateString,[data dataKey]];
[button setTitle:title forState:UIControlStateNormal];
[button addTarget:self action:@selector(buttonPressed:)
forControlEvents:UIControlEventTouchUpInside];
button.tag = data.calcId;
[scrollView addSubview:button];
i++;
}
Ответы
Ответ 1
Вы можете использовать contentHorizontalAlignment:
"Горизонтальное выравнивание содержимого (текста или изображения) в пределах приемник".
и contentVerticalAlignment для этого:
"Вертикальное выравнивание содержимого (текста или изображения) в пределах приемник".
Использование примера:
button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
button.contentVerticalAlignment = UIControlContentVerticalAlignmentTop;
Ответ 2
Используйте это:
button.contentVerticalAlignment = UIControlContentVerticalAlignmentFill;
button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
button.contentEdgeInsets = UIEdgeInsetsMake(0, 10, 0, 0);
Ответ 3
button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
button.contentEdgeInsets = UIEdgeInsetsMake(0, 10, 0, 0);
Ответ 4
![введите описание изображения здесь]()
Посмотрите на Content-Alignment Vertical в раскадровке
Ответ 5
button.titleLabel.textAlignment = NSTextAlignmentLeft;
Ответ 6
В Swift вы можете использовать это:
uibutton/uilabel.titleLabel?.textAlignment =.Center
NSTextAlignment - это перечисление, для которого вы можете назначить его, разместив .VALUE
Ниже перечислены возможные перечисления выравнивания
case Left//Выровненный по левому краю
case Center // Visually centered
case Right // Visually right aligned
/* !TARGET_OS_IPHONE */
// Visually right aligned
// Visually centered
case Justified // Fully-justified. The last line in a paragraph is natural-aligned.
case Natural // Indicates the default alignment for script
Ответ 7
Swift 3.x:
button.titleLabel?.textAlignment = .center
Ответ 8
Для Swift 3 для меня работало следующее:
button.contentHorizontalAlignment = .left
button.contentEdgeInsets = UIEdgeInsetsMake(0, 10, 0, 0)