2012-03-05 8 views
3

私は次のようにカスタムボタンを実装しました。iphoneのカスタムボタンのサイズを変更する方法Text

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は動作しません。誰かが私にそれを手伝うことができますか?

+0

これはトリックを行う必要があります。 http://stackoverflow.com/a/4978003/716216 –

答えて

6

だけsimpel溶液は[mainBtn sizeToFit]あろう

CGSize expectedLabelSize = [mainBtn.titleLabel.text sizeWithFont:mainBtn.titleLabel.font]; 
mainBtn.frame = CGRectMake(x, y, expectedLabelSize.width+10, expectedLabelSize.height); 
0

、次のコードを使用します。 しかし、これがあなたのedgeInsetsを考慮に入れるかどうかはわかりません。