Mam IBOutlet
do UIImageView
, ale kiedy patrzę na UIImageView
dokument, nie widzę żadnych wskazówek dotyczących programowej zmiany go. Czy muszę pobrać UIImage
z tego obiekt UIImageView
?
ios
uiimageview
Dzięki
źródło
źródło
Zwróć uwagę, że plik NIB nie łączy wszystkich IBOutletów, dopóki widok nie zostanie dodany do sceny. Jeśli podłączasz rzeczy ręcznie (co możesz zrobić, jeśli rzeczy są w oddzielnych NIB), należy o tym pamiętać.
Więc jeśli mój kontroler widoku testowego ma „imageView” połączony ze stalówką, to prawdopodobnie nie zadziała:
Ale to będzie:
źródło
To zadziałało dla mnie
Upewnij się, że ImageView jest poprawnie zadeklarowany w pliku .h i jest połączony z elementem IB.
źródło
źródło
Z myślą o osobach, które szukają w Google, aby spróbować rozwiązać swój problem, pamiętaj, aby poprawnie zadeklarować właściwość w pliku nagłówkowym i zsyntetyzować UIImageView w pliku implementacji ... Trudno będzie ustawić obraz programowo bez metody pobierające i ustawiające.
a następnie w swoim .m:
Stamtąd powinno być dobrze, używając czegoś podobnego do następującego, aby ustawić swój obraz.
źródło
Przykład w Swift :
źródło
Postępując zgodnie z radą Jordana (która w rzeczywistości powinna działać), spróbuj ustawić UIImageView tak, aby był widoczny:
a także - nie zapomnij dołączyć go do głównego UIView:
i przynieść na przód:
Mam nadzieję, że połączenie wszystkich tych kroków pomoże ci rozwiązać zagadkę.
źródło
Mój problem polegał na tym, że próbowałem zmienić obrazek w innym wątku. Podobało mi się to:
Zadzwoń z:
źródło
dispatch_async(dispatch_get_main_queue(), ^{backgroundImage.image = [UIImage imageNamed:@"img.png"];})
Jeśli chcesz ustawić obraz na
UIImageView
programowo, nie zapomnij dodaćUIImageView
jako widoku podrzędnego do widoku głównego.I nie zapomniałem ustawić ramki ImageView .
tutaj jest kod
źródło
Nie zapomnij wywołać
sizeToFit()
po zmianie obrazu, jeśli następnie użyjesz rozmiaru UIImageView, aby ustawić zawartość UIScrollView, rozmiar i / lub oblicz skalę powiększeniaźródło
źródło
źródło
To pytanie miało już wiele odpowiedzi. Niestety żaden nie działał dla mnie. Więc ze względu na kompletność dodam, co mi pomogło:
Miałem wiele obrazów o tej samej nazwie - więc zamówiłem je w podfolderach. I miałem pełną ścieżkę do pliku obrazu, który chciałem pokazać. Z pełną ścieżką
imageNamed:
(jak we wszystkich rozwiązaniach powyżej) nie działała i była złą metodą.Zamiast tego używam teraz
imageWithContentsOfFile:
tak:Nie wiem, czy ktoś tak daleko czyta?
Jeśli tak, a ten ci pomógł: zagłosuj. ;-)
źródło
Praca ze Swift 5 (XCode 10.3) to po prostu
źródło
Aby ustawić obraz na swoim imageView użyj poniższej linii kodu,
źródło