我在應用程序中使用UIButton。該按鈕標題根據用戶選擇動態顯示。現在我必須根據標題內容調整按鈕寬度。 我正在計算字符串長度並將其分配給按鈕的寬度。要調整大小的UIButton
該按鈕按照標題調整大小,但問題如下, 1.如果首先顯示內容較大的標題,之後顯示內容較小的標題意味着該按鈕被覆蓋,則不會顯示該按鈕不刪除以前構建的值。 2.看起來好像一個按鈕重疊在另一個按鈕上。
我在應用程序中使用UIButton。該按鈕標題根據用戶選擇動態顯示。現在我必須根據標題內容調整按鈕寬度。 我正在計算字符串長度並將其分配給按鈕的寬度。要調整大小的UIButton
該按鈕按照標題調整大小,但問題如下, 1.如果首先顯示內容較大的標題,之後顯示內容較小的標題意味着該按鈕被覆蓋,則不會顯示該按鈕不刪除以前構建的值。 2.看起來好像一個按鈕重疊在另一個按鈕上。
對我來說,這聽起來好像你沒有改變按鈕的寬度,但你添加了另一個按鈕。你是否在代碼中添加按鈕?如果你這樣做,你可以發佈代碼嗎?
一般來說,如果你想添加另一個按鈕,最好給它一個標籤,並在添加新的標籤之前使用超級視圖中的標籤(即舊按鈕)去除視圖。
這應該是這個樣子(從我的頭頂):
UIButton * button = [[[UIButton alloc] init] autorelease];
button.tag = 100;
/* ...set up the button the way you would normally do... */
// remove old button
[[targetView viewWithTag: 100] removeFromSuperview];
// add new button
[targetView addSubview: button];
的標籤用於標識視圖的任意整數。在中心位置最好使用#define
您的標籤。
假設,你有你的屬性按鈕,在你的類
-(void)changeTitleButtonWithValue:(NSString *)value
{
//get the value length (- (CGSize)sizeWithFont:(UIFont *)font)
size = [value sizeWithFont:yourFont];
self.button.frame = CGRectMake(x, y, size.width,size.height);
[self.button setTitle:value forState:UIControlStateNormal];
[self.button setTitle:value forState:UIControlStateHighlighted];
}
編輯:你有很多方法可以讓你的按鈕
是它的工作? – Francescu 2009-11-24 13:21:39