Jak ustawić obraz dla kodu UIButton w kodzie?
Mam to:
UIButton *btnTwo = [UIButton buttonWithType:UIButtonTypeRoundedRect];
btnTwo.frame = CGRectMake(40, 140, 240, 30);
[btnTwo setTitle:@"vc2:v1" forState:UIControlStateNormal];
[btnTwo addTarget:self action:@selector(goToOne) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:btnTwo];
ale nie widzę, co ustawi dla niego obraz.
setImage
jest przestarzałe. (Wydaje mi się, że mylisz sięUIButton.setImage
z tymUITableViewCell.image
, co zostało stwierdzone jako przestarzałe).Rozwiązanie Mike'a po prostu pokaże obraz, ale jakikolwiek tytuł ustawiony na przycisku nie będzie widoczny, ponieważ można ustawić tytuł lub obraz.
Jeśli chcesz ustawić oba (obraz i tytuł), użyj następującego kodu:
źródło
Zanim to zadziałało, musiałem wyraźnie zmienić rozmiar ramki przycisku na podstawie rozmiaru ramki obrazu.
źródło
[listButton sizeToFit]
W przypadku Swift User
źródło
Możesz to zrobić w ten sposób
źródło
źródło
Możesz umieścić obraz w dowolny sposób:
źródło
Szukałem rozwiązania, które można dodać
UIImage
do mojegoUIButton
. Problem polegał na tym, że wyświetla obraz większy niż potrzebny. Właśnie mi pomógł z tym:Za każdym razem, gdy chcę wyświetlać moje
UIImageView
, po prostu ustawiam varhidden
naYES
lubNO
. Mogą istnieć inne rozwiązania, ale tyle razy pomyliłem się z tymi rzeczami i to rozwiązało i nie musiałem zajmować się wewnętrznymi sprawamiUIButton
w tle.źródło
Nie przejmuj się tak bardzo kadrowaniem przycisku z kodu, możesz to zrobić w serii ujęć. To działało dla mnie, jedna linia ... prościej.
źródło
źródło
Wersja Swift 3 (butt_img musi być zestawem obrazów w folderze Assets.xcassets lub Images.xcassets w Xcode):
W każdym razie, jeśli chcesz przeskalować obraz, aby wypełnić rozmiar przycisku, możesz dodać
UIImageView
nad nim i przypisać mu swój obraz:źródło