Согласно документам Центра Dev Mac, необходимо смочь установить свойство содержания CALayer и иметь тот рендеринг автоматически. Однако я все еще не могу заставить простое изображение обнаруживаться путем добавления подуровня к корню UIVIEW позже. Я попробовал несколько различных изменений; вот то, что я имею до сих пор:
(Примечание: Я знаю, что существуют другие способы представить изображения; в моих целях я хотел бы использовать CALayer's для части более сложного материала, в который я собираюсь войти).
(в viewDidDisplay () ViewController):
CALayer *theLayer = [CALayer layer];
[[[self view] layer] addSublayer:theLayer];
theLayer.contents = (id)[[UIImage imageNamed:@"mypic.png"] CGImage];
theLayer.contentsRect = CGRectMake(0.0f, 0.0f, 300.0f, 300.0f);
theLayer.bounds = CGRectMake(0.0f, 0.0f, 300.0f, 400.0f);
Кто-либо знает то, что я делаю неправильно?
Спасибо!
Вам не нужно устанавливать contentsRect
(и если вы это сделаете, он должен быть в пространстве координат единицы, вероятно, просто CGRectMake (0, 0, 1.0, 1.0).
Возможно, вы захотите установить свойство position
слоя
.
Можно загрузить изображение в UIImageView, который декандирован из UIView и поэтому имеет собственное свойство слоя.
UIImageView *imgView = [[UIImageView alloc] initWithFrame:frame];
imgView.image = [UIImage imageNamed:@"mypic.png"];
[[[self view] layer] addSublayer:[imgView layer]];
[imgView release];