Я сделал это в awakeFromNib:листать координаты слоя NSViews (CALayer)
drawLayer = [CALayer layer];
self.layer = drawLayer;
[self setWantsLayer:YES];
есть «добавить:» Действие
// some business logic
[drawLayer addSublayer:layer];
[self layout];
-(void)layout
while(pg = [pageEnumr nextObject])
{
//rect is calculated so that layers are added in order (left to right)
[pg setFrame:rect];
}
Я хочу подуровни быть добавлены из в верхнюю левую сторону superLayer (CALayer зрения) , но они добавляются из левых нижнего
Я попытался affineTranform
CGAffineTransform trans = CGAffineTransformMake(1.0,0.0,0.0,-1.0,0.0,0.0);
self.layer.affineTransform = trans;
но прокрутка сделать исчезновение моих подслоев
Я использовал преобразование
CATransform3D aTransform = CATransform3DIdentity;
aTransform = CATransform3DMakeRotation(M_PI, 1, 0, 0);
self.layer..transform = aTransform;
я должен применить преобразование, чтобы противостоять вращать подслои и после добавления некоторых 100 подслоя, прокрутка становится медленным и применение становится не отвечайте
Если я не применяю какое-либо преобразование (без аффинного преобразования или нет), то приложение выполняется быстро после добавления 1000 подслоев
Мое приложение должно содержать огромное количество слоев различного размера. помогите мне, как сделать хостинг-план сбрасывать координаты ...
Не забудьте переместить начало координат, чтобы вы не просто ушли в отрицательное пространство. Переведите y по высоте слоя, затем масштабируйте, как вы показали. –
С UIViews я обнаружил, что вам не нужно переводить в Y, когда вы применяете вышеуказанный subublTransform к размещенному уровню UIView. Когда я его читал, опорная точка по умолчанию для слоя является его центром, и именно об этом применяется преобразование. –
Вы правы. Обычно вам нужен перевод Y. –