Значит, ярлык кнопки является экземпляром UILabel, не так ли? Установите положение этой метки, установив для нее рамку относительно рамки UIButton.
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button setFrame:CGRectMake(3, 20, w, h)];
UILabel *titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 20, w, h)];
[titleLabel setText:@"TITLE"];
[button addSubview:titleLabel];
[self.view addSubview:button];
[titleLabel release];
Я жестко закодировал позиции x и y кнопки и метки. Вы устанавливаете некоторые другие значения и размещаете метку в соответствующей позиции, где хотите.
Если вы хотите установить только текстовую позицию этого ярлыка, вы можете сделать это следующим образом:
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button setFrame:CGRectMake(3, 20, w, h)];
UILabel *titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, w, h)];
[titleLabel setText:@"TITLE"];
[titleLabel setTextAlignment:UITextAlignmentCenter];//(UITextAlignmentRight/UITextAlignmentLeft)
[button addSubview:titleLabel];
[self.view addSubview:button];
[titleLabel release];
Надеюсь, это поможет вам.