2011-09-18 31 views
11

Kakao dokunuşunda gradyan kullanmaya çalışıyorum. Başvurulan,
"_OBJC_CLASS _ $ _ CAGradientLayer":Amaç-C - Tanımsız semboller

#import <QuartzCore/QuartzCore.h> 

CAGradientLayer *gradient = [CAGradientLayer layer]; 
gradient.frame = mainView.bounds; 
gradient.colors = [NSArray arrayWithObjects:(id)[[UIColor blackColor] CGColor], (id)[[UIColor whiteColor] CGColor], nil]; 
[mainView.layer insertSublayer:gradient atIndex:0]; 

Ama derlemeye çalıştığımda aşağıdaki hatayı alıyorum: Bunun için aşağıdaki kodu kullanıyorum mimari i386 için

Tanımsız semboller den: OfficeViewController.o ld objc-sınıf ref: sembolü (ler) mimarisi i386 collect2 için bulunamadı: ld 1 çıkış durumu geri

Hiçbir boşuna temiz yapmaya çalıştım. Başka ne yapabileceğime emin değil misin?

cevap

48

Projenize QuartzCore çerçevesini eklediğinizden emin olun. Bu bağlantı İkili ile Kütüphaneler aşamalarında olmalıdır:

enter image description here

+5

Ve bu ekrana ulaşmak için gereken adımlar burada yazılmıştır: http://stackoverflow.com/a/6961788/338265 –

+1

Bunu yaptığınızda başka bir gotcha, Xcode çerçeveyi ekleyebilir, ancak yanlış Hedef için. Oluşturduğunuz Hedef için çerçevenin seçildiğinden emin olun. – pheelicks

3

QuartzCore çerçevesini de projeye dahil ettiniz mi? Sadece başlıkları eklemek yeterli değildir.

+0

teşekkürler. Ama neden bazı QuartzCore fonksiyonlarını (QuartzCore çerçevesini eklemeden) katman özelliği gibi kullanabilirim? –