2011-02-02 10 views
0

私はタイトルの長さごとにボタンのサイズを変更する必要があるアプリケーションを構築しています。私は次のコードを書いた。UIButtonのサイズ変更UIButtonのタイプを変更します

`UIButton * newButton = [[UIButton buttonWithType:UIButtonTypeRoundedRect] retain];

newButton.backgroundColor = [ UIColor clearColor]; 
newButton.titleLabel.backgroundColor = [ UIColor whiteColor]; 
[newButton setTitle:@"devsri" forState:UIControlStateNormal]; 
newButton.titleLabel.textColor = [ UIColor blackColor]; 

CGSize expectedLabelSize = [newButton.titleLabel.text sizeWithFont:newButton.titleLabel.font]; 
newButton.frame = CGRectMake(xBase, yBase, expectedLabelSize.width, expectedLabelSize.height); 

上記のコードはテーブルのサイズを変更しますが、ボタンは表示されなくなりました。上のコードで何が間違っているかを教えてください。

ありがとうございます!

答えて

0

ここにバグがあります。私は最終的に元のボタンの幅よりも大きかったtitlelabelのサイズでフレームを初期化していました。このようにライン

newButton.frame = CGRectMake(xBase, yBase, expectedLabelSize.width, expectedLabelSize.height); 

newButton.frame = CGRectMake(xBase, yBase, expectedLabelSize.width + 15, expectedLabelSize.height); 

これは、ラベルの新しいサイズを収容するのに十分なボタンを広げます。

:)

関連する問題