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

  • buttheadgsxr1000

    buttheadgsxr

    24 Ocak 2008
  • DragsterMC Gaming

    DragsterMC G

    30 HAZİRAN 2013
  • metagamers

    metagamers

    13 Mayıs 2006