Что мне нужно сделать, это перевернуть CGImageRef, который является свойством conntents CALayer, слева направо.Я тщательно гуглил, чтобы найти способ, но это было напрасно.Поэтому я решил перевернуть UIImage, а затем установить его свойство CGImage в качестве содержимого для CALayer.
Итак, что я сделал:
UIImage *src = [UIImage imageNamed:@"res/images/lizard.png"];
src = [UIImage imageWithCGImage:src.CGImage scale:1.0 orientation:UIImageOrientationRightMirrored];
UIImageView *test = [[UIImageView alloc] initWithImage:src];
[test setFrame:CGRectMake(20, 20, 50, 50)];
[self.view addSubview:test];
[lizard.layer setContents:((id)test.image.CGImage)];
, но это было напрасно,слой остался не перевернутым.то, что я сделал дальше:
UIImage *src = [UIImage imageNamed:@"res/images/lizard.png"];
UIImageView *test = [[UIImageView alloc] initWithImage:src];
[test setFrame:CGRectMake(20, 20, 50, 50)];
[self.view addSubview:test];
test.transform = CGAffineTransformIdentity;
test.transform = CGAffineTransformMakeScale(-1.0, 1.0);
[lizard.layer setContents:((id)test.image.CGImage)];
Но, к сожалению, это все еще не дает мне то, что мне нужно.UIImageView с именем test
отображается, как и ожидалось - он переворачивается, а содержимое lizard.layer - нет.Как это могло случиться?Вы можете мне помочь?
1) Есть ли нормальный способ перевернуть содержимое CALayer?
2) Если нет, то как мне перевернуть CGImageRef для правильной установки содержимого?