CALayer скрывает свой подслой - PullRequest
1 голос
/ 13 марта 2012

Я пытаюсь добавить CALayer в качестве подслоя другого CALayer. Однако отображается только родительский слой. Вот мой код:

//display a green square:
CALayer *shipContainer = [CALayer layer];
shipContainer.bounds = CGRectMake(0,0,200,200);
shipContainer.position = CGPointMake(600,500);
shipContainer.borderColor = [UIColor greenColor].CGColor;
shipContainer.borderWidth = 3;

//display a red dot inside the square:    
CALayer *ship1 = [CALayer layer];
ship1.bounds = CGRectMake(0,0,20,20);
ship1.position = CGPointMake(600,500);
ship1.cornerRadius = 10;
ship1.backgroundColor = [UIColor redColor].CGColor;
[shipContainer addSublayer:ship1];

Я тогда звоню [self.view.layer addSublayer:shipContainer];, но отображается только зеленый квадрат. Есть мысли?

1 Ответ

1 голос
/ 13 марта 2012

Согласно документации :

Position

Свойство position представляет собой CGPoint, который определяет положение слоя относительноего суперслой, и выражается в системе координат суперслоя.

, поэтому вам нужно изменить

ship1.position = CGPointMake(600,500);

, чтобы ship1 мог появиться в видимой области.Поскольку суперслой имеет 200,200 в качестве границ, вам нужно сделать позиции x и y меньше этих значений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...