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

  • gadgetgal38

    gadgetgal38

    9 HAZİRAN 2009
  • Gan Eden Productions

    Gan Eden Pro

    11 HAZİRAN 2011
  • NightShader1

    NightShader1

    25 Temmuz 2006