SORU
30 NİSAN 2009, PERŞEMBE


Nasıl bir UİView altında bir gölge çizebilirim?

UIView Kakao bir Dokunuş alt kenarı altında bir gölge çizmek için çalışıyorum. CGContextSetShadow() gölge çizmek için kullanmam gerektiğini anlıyorum, ama Kuvars 2D programlama kılavuzu biraz belirsiz

  1. Grafik durumunu kaydetmek.
  2. Fonksiyonu CGContextSetShadow uygun değerleri geçen arayın.
  3. Hangi gölgeler uygulamak istediğiniz tüm çizim yapmak.
  4. Grafik durumunu geri yükleyin

UIView bir alt sınıfta aşağıdaki denedim:

- (void)drawRect:(CGRect)rect {
    CGContextRef currentContext = UIGraphicsGetCurrentContext();
    CGContextSaveGState(currentContext);
    CGContextSetShadow(currentContext, CGSizeMake(-15, 20), 5);
    CGContextRestoreGState(currentContext);
    [super drawRect: rect];
}

..ama bu benim için işe yaramıyor ve ben biraz yapismis (a) nereye gelecek ve (b) Eğer bir şeye ihtiyacım var benim UIView bu işi yapmak için?

CEVAP
25 Mart 2011, Cuma


self.layer.masksToBounds = NO;
self.layer.cornerRadius = 8; // if you like rounded corners
self.layer.shadowOffset = CGSizeMake(-15, 20);
self.layer.shadowRadius = 5;
self.layer.shadowOpacity = 0.5;

Bu uygulama yavaşlatacaktır. Aşağıdaki satırı performans görünümü gözle görülür bir şekilde dikdörtgen olarak artırabilir eklemek için:

self.layer.shadowPath = [UIBezierPath bezierPathWithRect:self.bounds].CGPath;

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Bach Vlogs

    Bach Vlogs

    18 HAZİRAN 2011
  • Shameless Maya

    Shameless Ma

    24 Mayıs 2012
  • JeezyVEVO

    JeezyVEVO

    12 Mayıs 2009