Próbuję dodać cień do widoków, które są ułożone jeden na drugim, widoki zwijają się, umożliwiając wyświetlanie zawartości w innych widokach, w tym duchu chcę pozostać view.clipsToBounds
WŁĄCZONY, aby po zwinięciu widoków ich zawartość została obcięta.
Wydaje się, że utrudniło mi to dodanie cienia do warstw, ponieważ po włączeniu clipsToBounds
cienie również są przycinane.
Próbowałem manipulować view.frame
i view.bounds
dodać cień do ramki, ale pozwoliłem, by granice były wystarczająco duże, aby je objąć, jednak nie miałem z tym szczęścia.
Oto kod, którego używam, aby dodać cień (działa tylko z clipsToBounds
WYŁĄCZONYM, jak pokazano)
view.clipsToBounds = NO;
view.layer.shadowColor = [[UIColor blackColor] CGColor];
view.layer.shadowOffset = CGSizeMake(0,5);
view.layer.shadowOpacity = 0.5;
Oto zrzut ekranu przedstawiający cień nakładany na górną, najjaśniejszą szarą warstwę. Mam nadzieję, że daje to wyobrażenie o tym, jak moje treści będą się nakładać, jeśli clipsToBounds
jest wyłączone.
Jak mogę dodać cień do mojej UIView
i zachować obcięte treści?
Edycja: Chciałem tylko dodać, że bawiłem się również przy użyciu obrazów tła z włączonymi cieniami, co działa dobrze, jednak nadal chciałbym poznać najlepiej zakodowane rozwiązanie do tego.
masksToBounds = NO;
do mojego oryginału - przy obu próbach, które zostawiłemclipsToBounds = YES;
WŁĄCZONE - obie nie udało się przyciąć zawartości. oto zrzut ekranu przedstawiający, co się stało z twoim przykładem> youtu.be/tdpemc_Xdps