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

  • Doc Adams

    Doc Adams

    20 HAZİRAN 2007
  • Sorikan

    Sorikan

    3 ŞUBAT 2008
  • WPBeginner - WordPress Tutorials

    WPBeginner -

    17 Temmuz 2009