2009-05-13 19 views

cevap

147

ilk adım çekmek için bir alan yaratmak için, UIView bir alt sınıfını tanımlamaktır.

yeni bir uygulama ile başlıyorsanız, en kolay yolu "Window tabanlı başlamak olacak uygulama "şablonu.

Ardından Yeni Dosya'ya gidin ve "Alt Sınıf" ile "Nesne-C Sınıfı" oluşturun ve "UIView" olarak ayarlayın ve MyView.m adını verin.

Şimdi "Kaynaklar" grubunu açın ve Interface Builder'da açmak için "MainWindow.xib" yi çift tıklayın. Buradan "Pencere" adında bir pencere görmelisiniz. Kütüphaneyi açmak için Cmd + Shift + L tuşlarına basın ve bir "Görünüm" bileşenini pencerenize sürükleyin ve tümünü görebilmeniz için konumlandırın. Yeni Görünümünüz seçildikten sonra, Kimlik Denetçisini getirmek için "Sınıf Kimliği" altında Cmd + 4'e basın, açılır menüyü tıklayın ve MyView'u seçin.

Ardından, drawRect uygulamak gerekir: MyView.m yöntemi, burada bir çizgi çizer bazı örnek kod:

- (void)drawRect:(CGRect)rect { 
    CGContextRef c = UIGraphicsGetCurrentContext(); 

    CGFloat red[4] = {1.0f, 0.0f, 0.0f, 1.0f}; 
    CGContextSetStrokeColor(c, red); 
    CGContextBeginPath(c); 
    CGContextMoveToPoint(c, 5.0f, 5.0f); 
    CGContextAddLineToPoint(c, 50.0f, 50.0f); 
    CGContextStrokePath(c); 
} 

kaydet her şey ve "İnşa ve Çalıştır" tıklayın, artık görmelisiniz iPhone'da kısa kırmızı çizgi.

Çekirdek Grafikler hakkında daha fazla bilgi için, Apple Belgeleri'ne bakın. Ayrıca, Xcode dokümantasyon görüntüleyicide CGContext ile başlayan fonksiyonları aramayı ve bunları gözden geçirmenin faydalı olduğunu buldum. Sonunda kullanacağınız Çekirdek Grafik işlevlerinin çoğu "CGContext" terimiyle başlayacaktır.

+0

Teşekkür Tobias'a .... O bana yardım .... –

+56

+1: Aşağıdaki bir dikey merkezli yatay çizgi çekecektir. – willc2

+0

+1 bana yardımcı oldu :) –

4

UIBezierPath'u kullanarak bir çizgi çizebilirsiniz. yerine KKO kodu ile cevaplanması için

- (void)drawRect:(CGRect)rect { 
    CGFloat rectHeight = CGRectGetHeight(rect); 
    CGFloat rectWidth = CGRectGetWidth(rect); 

    UIBezierPath *line = [UIBezierPath bezierPath]; 
    [line moveToPoint:CGPointMake(0, rectHeight/2)]; 
    [line addLineToPoint:CGPointMake(rectWidth, rectHeight/2)]; 

    [[UIColor lightGrayColor] setStroke]; 
    [line stroke]; 
} 
İlgili konular