2013-06-25 90 views
0

我想以編程方式調整按鈕大小,但修改參數不起作用。不可更改的按鈕寬度和高度

btnCancel = [UIButton buttonWithType:102]; 
[btnCancel setFrame:CGRectMake(22.0f, 7.0f, 40.0f, 40.0f)]; 
[btnCancel setTitle:@"Anuluj" forState:UIControlStateNormal]; 
[btnCancel setTintColor:[UIColor redColor]]; 
[btnCancel addTarget:self action:@selector(cancelTyping) forControlEvents:UIControlEventTouchUpInside]; 

任何想法爲什麼?我可以給我喜歡的任何數量的參數,但結果是相同的 - 寬度是有限的文本長度。

回答

1

我把你的代碼和測試它在iOS 6.0中。這是你需要做的

添加QuartzCore庫和添加到您的頭文件

#import <QuartzCore/QuartzCore.h> 

現在,這裏是你的按鈕代碼有什麼PIC的最終版本。玩弄寬和高,他們會改變

UIButton *btnCancel =[UIButton buttonWithType:UIButtonTypeCustom]; 
    [btnCancel setFrame:CGRectMake(22.0f, 7.0f, 80.0f, 80.0f)]; 
    [btnCancel setTitle:@"Anuluj" forState:UIControlStateNormal]; 
    btnCancel.backgroundColor = [UIColor redColor]; 
    btnCancel.layer.borderColor = [UIColor redColor].CGColor; 
    btnCancel.layer.borderWidth = 0.5f; 
    btnCancel.layer.cornerRadius = 10.0f; 
    [btnCancel addTarget:self action:@selector(cancelTyping) forControlEvents:UIControlEventTouchUpInside]; 

enter image description here

+0

是的,但我想要得到像這樣的藍色和紅色按鈕,http://teehanlax.com.s3.amazonaws.com/wp-content/uploads/buttons.png可能沒有用手寫一切東西 – mjanisz1

+1

在這裏你去https:// www。 cocoacontrols.com/controls/imag eless-gradient-buttons –

+0

或者選擇這些項目中的任何一個https://www.cocoacontrols.com/search?utf8=&&==q = uibutton –

0

嘗試通過btnCancel = [UIButton buttonWithType:UIButtonTypeCustom];

+0

我不認爲這是A型問題.. :( –

0

改變btnCancel = [UIButton buttonWithType:102];你幾乎可以肯定有自動佈局打開。進入界面生成器並將其關閉,並且您的代碼應該可以工作

+0

它的確被打開,但禁用它沒有幫助:( – mjanisz1

0

使用[UIButton buttonWithType:UIButtonTypeCustom]具有適當的值,按鈕將調整大小。

UIButtonTypeCustom = 0, 
UIButtonTypeRoundedRect, 
UIButtonTypeDetailDisclosure, 
UIButtonTypeInfoLight, 
UIButtonTypeInfoDark, 
UIButtonTypeContactAdd 
+0

是的,但我想要得到像這樣的藍色和紅色按鈕,http://teehanlax.com.s3.amazonaws.com/wp-content/uploads/buttons.png可能沒有用手寫東西 – mjanisz1