co starałem było to: -UIButton zajmuje swój własny rozmiar autoLayout
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));
jako wyjście, mam to:
button size : {30, 29}
Potem dał setTitle
ciąg niczym. Szerokość przycisku była nadal 30
Dlaczego tak jest zawsze?
Próbowałem również dać high compression resistance priority
i high content hugging priority
. Nie kurczy się do niczego.
Problem polega również na tym, że chcę zmniejszyć szerokość przycisku w prosty sposób w oparciu o jego zawartość, bez podawania stałej szerokości.
Mogę wziąć szerokość tekstu i nadać mu szerokość, ale nie powinienem tego robić, jeśli przycisk przybierał szerokość treści.
Edycja:
jej nie wstawki albo powodującemu szerokość być 30
. Wartość Ghost.
Ah, ok, miałem rację w moim założeniu :-) dobra odpowiedź. – Fogmeister
Hmm, okay. Brzmi już dobrze. Ale jak wspomniałem w pytaniu: "Problem polega również na tym, że chcę zmniejszyć szerokość przycisku w prosty sposób w oparciu o jego zawartość, bez podawania jakiejkolwiek stałej szerokości. A" 30 "dla domyślnego rozmiaru treści wydawało się odrobinę zbyt duże, po prostu nie chciałem, aby przycisk pojawiał się w ogóle. Tak byłoby lepiej. – esh
@ BlackFlam3 Apple HIG stwierdza, że minimalny obszar dotykowy przycisku powinien mieć 44 x 44 punkty. 30 jest już zbyt mały, aby przycisk ułatwiał jego stukanie. Zmniejszenie jego rozmiaru jeszcze bardziej nie ma sensu. – Fogmeister