我試過是這樣的: -的UIButton佔用自己的大小自動佈局
UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
[self.view addSubview:btn];
btn.translatesAutoresizingMaskIntoConstraints = NO;
[btn addTarget:self action:@selector(bringUpNextViewController:)
forControlEvents:UIControlEventTouchUpInside];
btn.titleLabel.font = [UIFont fontWithName:@"HelveticaNeue" size:14];
[btn setTitle:@"8" forState:UIControlStateNormal];
[self.view layoutIfNeeded];
NSLog(@"button size : %@", NSStringFromCGSize(btn.frame.size));
作爲輸出,我得到這個:
button size : {30, 29}
然後我給setTitle
字符串作爲一無所獲。按鈕寬度仍然是30.
那麼爲什麼總是這種情況?
我也試過給high compression resistance priority
和high content hugging priority
。不縮水到沒有。
問題在於,我想簡單地根據其內容減少按鈕的寬度,而不給出任何固定的寬度。
我可以採取文本的寬度,並給按鈕的寬度,但我不應該需要這樣做,如果按鈕佔用的內容寬度。
編輯:
它不是這是造成寬度插圖要麼是30
。鬼的價值。
啊,好吧,我的想法是正確的:-)很好的答案。 – Fogmeister
嗯,好吧。聽起來現在好了。但正如我在問題中提到的那樣,「問題也是我想要簡單地根據其內容減少按鈕的寬度,而不給定任何固定寬度。」而對於默認內容大小,「30」似乎是一個點太大了,我只是不想讓按鈕出現。那會更好。 – esh
@ BlackFlam3 Apple HIG指出按鈕的最小觸摸面積應爲44x44點大小。 30對於一個按鈕來說已經太小了,以至於無法輕鬆點擊。進一步縮小其規模並不合理。 – Fogmeister