SORU
11 EYLÜL 2010, CUMARTESİ


Neden = EVET CALayer gölge engeller masksToBounds?

Aşağıdaki kod ile, bir gölge efekti benim UİView ekliyorum. Gayet iyi çalışır. Ama manzara kurar kurmazmasksToBoundsözellik içinEVET. Gölge efekti daha fazla işlenmiş değildir.

self.myView.layer.shadowColor = [[UIColor blackColor] CGColor];
self.myView.layer.shadowOpacity = 1.0;
self.myView.layer.shadowRadius = 10.0;
self.myView.layer.shadowOffset = CGSizeMake(0.0f, 0.0f);
self.myView.layer.cornerRadius = 5.0;
self.myView.layer.masksToBounds = YES; // <-- This is causing the Drop shadow to not be rendered
UIBezierPath *path = [UIBezierPath bezierPathWithCurvedShadowForRect:self.myView.bounds];
self.myView.layer.shadowPath = path.CGPath;
self.myView.layer.shouldRasterize = YES;

Bu konuda herhangi bir fikir var mı?

CEVAP
11 EYLÜL 2010, CUMARTESİ


Çünkü gölge efekti Görünümü dışında yapılır ve bu masksToBounds EVET set UİView kendisi dışında her şeyi çizmek için söyle.

Eğer gölge ile roundedCorner bir görünüm istiyorsanız 2 manzaralı ben bunu öneririm:

UIView *view1 = [[UIView alloc] init];
UIView *view2 = [[UIView alloc] init];

view1.layer.cornerRadius = 5.0;
view1.layer.masksToBounds = YES;
view2.layer.cornerRadius = 5.0;
view2.layer.shadowColor = [[UIColor blackColor] CGColor];
view2.layer.shadowOpacity = 1.0;
view2.layer.shadowRadius = 10.0;
view2.layer.shadowOffset = CGSizeMake(0.0f, 0.0f);
[view2 addSubview:view1];
[view1 release];

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • campos9896

    campos9896

    24 Mart 2012
  • GoogleTechTalks

    GoogleTechTa

    15 AĞUSTOS 2007
  • TROPFEST

    TROPFEST

    27 Mart 2007