对齐UIButton的文本?

him*_*man 12 iphone xcode objective-c uibutton

我正在生成一些按钮.在按钮中,我显示日期和用户给出的引用ID.我希望这些数据在按钮中保持对齐.

我尝试过的:

[button.titleLabel setTextAlignment:UITextAlignmentLeft]; 
button.titleLabel.textAlignment = UITextAlignmentLeft;
Run Code Online (Sandbox Code Playgroud)

但这不起作用.

 - (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++;
}
Run Code Online (Sandbox Code Playgroud)

dsg*_*fin 34

您可以使用contentHorizo​​ntalAlignment:

"收件人内容(文字或图像)的水平对齐."

contentVerticalAlignment属性:

"接收器内容(文本或图像)的垂直对齐."

用法示例:

button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
button.contentVerticalAlignment = UIControlContentVerticalAlignmentTop;
Run Code Online (Sandbox Code Playgroud)


Vin*_*ngh 8

用这个 :

button.contentVerticalAlignment = UIControlContentVerticalAlignmentFill; 


button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;

button.contentEdgeInsets = UIEdgeInsetsMake(0, 10, 0, 0);
Run Code Online (Sandbox Code Playgroud)