Я предполагаю, что текст UILabel будет динамическим, поэтому вы не можете просто определить размеры и добавить их нормально?
попробуйте это:
-(void)setLabelText:(NSString*)string
{
int length = string.length;
myLabel.frame = CGRectMake(x, y, 5*length+5, height);
buttonContainingLabel.frame = CGRectMake(x, y, 25+5*length, height);
}
Этот метод предполагает моноширинный шрифт, который вы, вероятно, не используете. Тем не менее, расхождения в ширине символов, вероятно, не составят какого-либо значимого различия в размерах, поскольку вы не пишете роман на кнопке. Я использую здесь значение 5 px в качестве ширины буквы, но вам придется изменить его, чтобы он соответствовал размеру вашего текста.