J'essaie d'ajouter une ombre portée aux vues superposées, les vues s'effondrent permettant au contenu d'autres vues d'être vu, dans cette veine, je veux rester view.clipsToBounds
activé afin que lorsque les vues se réduisent, leur contenu soit tronqué.
Cela semble avoir rendu difficile pour moi d'ajouter une ombre portée aux calques, car lorsque clipsToBounds
j'active les ombres sont également coupées.
J'ai essayé de manipuler view.frame
et view.bounds
d'ajouter une ombre portée au cadre mais de permettre aux limites d'être suffisamment grandes pour l'englober, mais je n'ai pas eu de chance avec cela.
Voici le code que j'utilise pour ajouter une ombre (cela ne fonctionne qu'avec clipsToBounds
OFF comme indiqué)
view.clipsToBounds = NO;
view.layer.shadowColor = [[UIColor blackColor] CGColor];
view.layer.shadowOffset = CGSizeMake(0,5);
view.layer.shadowOpacity = 0.5;
Voici une capture d'écran de l'ombre appliquée au calque gris le plus clair du haut. J'espère que cela donne une idée de la façon dont mon contenu se chevauchera si clipsToBounds
est désactivé.
Comment puis-je ajouter une ombre à mon UIView
et conserver mon contenu découpé?
Edit: Je voulais juste ajouter que j'ai également joué avec l'utilisation d'images d'arrière-plan avec des ombres, ce qui fonctionne bien, mais j'aimerais toujours connaître la meilleure solution codée pour cela.
masksToBounds = NO;
j'ai essayé d'ajouter à mon original - avec les deux tentatives que j'ai gardéesclipsToBounds = YES;
activées - les deux n'ont pas réussi à couper le contenu. voici une capture d'écran de ce qui s'est passé avec votre exemple> youtu.be/tdpemc_Xdps