Я настроил слой следующим образом:
CALayer *layer = [CALayer layer];
layer = /* create a CGColorRef with a pattern image */;
Этот слой просто отображается в моем окне.Мои функции рисования / отпускания для шаблона следующие:
void drawPattern(void *info, CGContextRef c) {
CGContextDrawImage(c, CGRectMake(0, 0, CGImageGetWidth(info), CGImageGetHeight(info)), info);
}
void releaseInfo(void *info) {
CGImageRelease((CGImageRef)info);
}
По умолчанию шаблон привязывается к левому нижнему углу окна, поэтому при изменении размера окна эта точка фиксируется.
Я понял, что могу закрепить его в левом верхнем углу двумя шагами:
- установить
layer.geometryFlipped = YES;
- использовать
CGAffineTransformMakeScale(1, -1)
в качестве аргументана CGPatternCreate
вместо CGAffineTransformIdentity
.
Но как я могу закрепить его в центре?(Изменение anchorPoint
слоя, похоже, ничего не делает.)