Как изменить размер пользовательской кнопки в iphone в соответствии с этим Текст - PullRequest
3 голосов
/ 05 марта 2012

Я реализовал пользовательскую кнопку следующим образом.

UIButton *mainBtn = [UIButton buttonWithType:UIButtonTypeCustom];
[mainBtn setTitle:@"Meeting" forState:UIControlStateNormal];
[mainBtn setFrame:CGRectMake(80, 7, 72, 35)];
[mainBtn setBackgroundImage:[UIImage imageNamed:@"buttonActive.png"] forState:UIControlStateNormal];
mainBtn.contentEdgeInsets = UIEdgeInsetsMake(18, 5, 18, 10);
[mainBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];

Здесь заголовок кнопки будет динамическим.Так что теперь мне нужно изменить ширину кнопки в соответствии с длиной заголовка динамически.Для этого CGRectMake с заданной шириной не будет работать.Может ли кто-нибудь помочь мне сделать это.

Ответы [ 2 ]

6 голосов
/ 05 марта 2012

Просто используйте следующий код,

CGSize expectedLabelSize = [mainBtn.titleLabel.text sizeWithFont:mainBtn.titleLabel.font]; 
mainBtn.frame = CGRectMake(x, y, expectedLabelSize.width+10, expectedLabelSize.height);
0 голосов
/ 05 марта 2012

Простым решением будет [mainBtn sizeToFit];Но я не знаю, учитывает ли это ваши edgeInsets.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...