2011-08-30 124 views
1

我,如果可能納悶,怎麼我會做到以下幾點,可縮放按鈕

我想有一個UIButton,簡單的圓形按鈕用一種顏色,但我想有它的寬度可以根據其內部的UILabel進行縮放。

我發現,談論它是如何可能使用

UItextfield

,並使用它有

.leftView.rightView性能出頭

誰能給我的只是一個簡單的例子,我怎麼可能做這個?

謝謝!

回答

2

你可以做這樣的事情找到的NSString中的UILabel的大小:

CGSize size=[uibutton.titlelabel.text sizeWithFont:[UIFont fontWithName:@"Helvetica" size:fontSize] forWidth:uibutton.titlelabel.frame.size.width lineBreakMode:UILineBreakModeCharacterWrap];

然後設置的UILabel的框架和/或UIButton的使用這個size.widthsize.height性能。

這只是一個示例,您需要根據標籤的設置或偏好調整UIFont屬性。

0

我認爲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像素的值作爲字母的寬度,但是您必須修改它以適合您的文字大小。