2012-01-15 12 views
5

Próbuję osiągnąć pewien rodzaj dynamicznego efektu maskowania UIView. Oto szkic: enter image description hereJak uzyskać dynamiczne maskowanie UIView?

Tak jak widzisz, staram się stworzyć UIView, który może skutecznie przeciąć obraz, aby odsłonić obraz za nim. Już wiem, jak statycznie odesłać obraz z maską, jednak chciałbym, aby "odkrywca" był przeciągalny (użyję gestu pan) i żyję.

Czy ktoś ma jakieś pomysły lub punkt wyjścia, jak to osiągnąć? Dzięki

(UWAGA: Moje demo mówi warstwa Biała, ale chciałbym pokazać inny obraz lub zdjęcie).

+0

Z jakiego kodu zaczynasz? –

+0

Brak, szukam pomysłów lub wskazówek, jak uzyskać UIView, aby przeciąć obraz. – user339946

+1

Przykro mi, nie jestem pewien, jaki efekt chcesz uzyskać na nieprzezroczystej części, ale nie możesz mieć widoku, który jest znacznie większy niż twoje zdjęcie, ma 100% przezroczystego kwadratu pośrodku, a jego krawędzie są białe z nieprzezroczystością 60%? Następnie przeciągnij ten widok dookoła? Nie ma potrzeby maskowania ani niczego - tylko UIScrollView. –

Odpowiedz

3

maskowanie obrazu nie jest trudne.

Ten link pokazuje podstawy. http://iosdevelopertips.com/cocoa/how-to-mask-an-image.html

Ale osobiście uważam, że zrobię 2 UIImage poglądy i przycinam zawartość przeciągniętej UIView. Nie jestem pewien, ale spodziewałbym się, że obcinanie i przesuwanie drugiego obrazu będzie mniej kosztowne pod względem obliczeniowym niż stosowanie maski i zapewni lepszą liczbę klatek na sekundę.

Więc zrobiłbym: UIImageView pełnego obrazu. UIView na wierzchu z białą i trochę przezroczystością, aby wyglądała na białą, a następnie UIImageView z obrazem albo w miejscach przyciętych tak, że pokazuje się tylko właściwa sekcja.

+0

Wybacz mój opis, warstwa "biała" będzie w rzeczywistości kolejnym obrazem. Więc 2 obrazy ułożone jedna na drugiej i potrzebuję prostokąta, aby przeciąć środkowy obraz, aby pokazać dolny obraz. Wszelkie pomysły doceniam. Dzięki! – user339946

+0

tak. to samo w przeważającej części. użyj 3 UIImageViews. przyciąć górny, aby wyglądał tak, jakby przecinał środkowy. to nie jest naprawdę zamaskowane, ale będzie wyglądać tak samo dla użytkownika końcowego. – madmik3

+0

Hej, brzmi interesująco. Co masz na myśli mówiąc "przyciąć górną"? Myślę, że mój najlepszy UIImageView musiałby jakoś replikować dolny obraz w tej dokładnej lokalizacji (ponieważ prostokąt jest przeciągalny). Dzięki – user339946