Generuję kilka przycisków. W przycisku wyświetlam datę i identyfikator referencyjny podany przez użytkownika. Chcę, aby te dane zostały wyrównane w przycisku.Wyrównywanie tekstu UIButton?
Co próbowałem:
[button.titleLabel setTextAlignment:UITextAlignmentLeft];
button.titleLabel.textAlignment = UITextAlignmentLeft;
Ale to nie działa.
- (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++;
}
Dobre połączenie z 'button.contentEdgeInsets = UIEdgeInsetsMake (0, 10, 0, 0);' Użyłem tego aby ustawić górną wstawkę przycisku, aby naprawić fakt, że funkcja 'contentVerticalAlignment' wyśrodkowała linię bazową tekstu przycisku. Przy krawędziach można dopasować do tego i wyśrodkować w oparciu o wizualny pionowy punkt środkowy tekstu. –