Czy można dostosować pozycję x, y dla titleLabel
a UIButton
?
Oto mój kod:
UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[btn setFrame:CGRectMake(0.0f, 0.0f, 100.0f, 100.0f)];
[btn setTitle:[NSString stringWithFormat:@"Button %d", i+1] forState:UIControlStateNormal];
[btn addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchUpInside];
btn.titleLabel.frame = ???
Odpowiedzi:
I w Swift
Szybki 5
źródło
setTitleEdgeInsets:
to wszystko, co uznałem za potrzebne do przesunięcia tekstu.Najłatwiej zrobić to wizualnie, używając inspektora atrybutów ** (pojawia się podczas edycji xib / storyboardu), ustawiając właściwość „ edge ” na tytuł, dostosowując jej wstawki, a następnie ustawiając właściwość „edge” na obraz i odpowiednio dostosowując . Zwykle jest to lepsze niż kodowanie, ponieważ jest łatwiejsze w utrzymaniu i wysoce wizualne.
źródło
Edge
doTitle
, a następnie dostosować wstawka!edge
właściwości, możesz dostosować wstawki tytułu w Inspektorze rozmiaru.Wyprowadź z UIButton i zaimplementuj następującą metodę:
Edytować:
źródło
Dla moich projektów mam to narzędzie rozszerzające:
źródło