Czy można nakładać obraz UIView
bez korzystania z UIImageView
z Konstruktora interfejsu?Nakładanie UIView z obrazem tła
Jeśli nie, w jaki sposób wykonasz to samo w kodzie?
Czy można nakładać obraz UIView
bez korzystania z UIImageView
z Konstruktora interfejsu?Nakładanie UIView z obrazem tła
Jeśli nie, w jaki sposób wykonasz to samo w kodzie?
jeśli przez pokrywającą UIView chodziło Ci malowanie jej tło z obrazu, można to zrobić tak:
someView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"yourImage.png"]];
Można również dodać nowe UIImageView, który obejmuje swoją UIView kodem, Init Twój UIImageView z tą samą ramką Zaznacz jako swoje UIView i dodaj je jako wyeksportowanie.
Z dokumentacji UIView:
oparciu o obrazy tła - dla widoków, które wyświetlają zawartość stosunkowo statyczną, należy rozważyć użycie obiektu UIImageView z Recognizers gest zamiast podklasy i rysunek obraz siebie. Alternatywnie można również użyć ogólnego obiektu UIView i przypisać obraz jako zawartość obiektu CALayer widoku.
Korzystanie drugą opcję, aby ustawić someView mieć tło yourImage.png:
someView.layer.contents = (id)[[UIImage imageNamed:@"yourImage.png"] CGImage];
Doskonałe, dziękuję. Więc, nie ma sposobu, aby to zrobić z IB, prawda? – JAM
Dobrze, ponieważ funkcja colorWithPatternImage jest niestandardową metodą, nie jest opcją wyświetlaną na IB. dostępne są tylko pojedyncze kolory. chociaż to samo zadanie można wykonać z IB, tworząc UIImageView, który obejmuje twój widok i ma tę samą ramkę. gdy nie chcesz, aby twój widok był zasłonięty, możesz po prostu ustawić jego .hidden właściwość na TAK/NIE. –
Prawdopodobnie wybrałabym opcję 'UIImageView', ponieważ przypuszczam, że będzie bardziej zoptymalizowana niż generowanie wzorca, który Core Graphics będzie musiał następnie narysować po wykryciu kafelków itp. –