0
Я создал подкласс CALayer так:пользовательских CALayer подкласс не показывая
#import <QuartzCore/QuartzCore.h>
@interface SHBaseLayer : CALayer
@end
и реализации:
#import "SHBaseLayer.h"
@implementation SHBaseLayer
- (void)drawInContext:(CGContextRef)theContext
{
CGContextSetStrokeColorWithColor(theContext, [UIColor blueColor].CGColor);
CGMutablePathRef thePath = CGPathCreateMutable();
CGPathMoveToPoint(thePath,NULL,15.0f,15.f);
CGPathAddCurveToPoint(thePath,
NULL,
15.f,250.0f,
295.0f,250.0f,
295.0f,15.0f);
CGContextBeginPath(theContext);
CGContextAddPath(theContext, thePath);
CGContextSetLineWidth(theContext, 5);
CGContextDrawPath(theContext, kCGPathStroke);
}
@end
и я добавляю этот слой в слой представлен вид контроллера представления и вызова setNeedsDisplay
но ничего не отображается, когда я запускаю приложение.
Это мой viewDidLoad
ViewController.
- (void)viewDidLoad
{
[super viewDidLoad];
SHBaseLayer *l = [SHBaseLayer layer];
[self.view.layer addSublayer:l];
[l setNeedsDisplay];
}
что я здесь делаю неправильно?
thanx, это сработало :) –