Я создавал приложения для iPhone некоторое время теперь, с помощью основных преобразований (вращения, масштаб, и т.д.), но теперь я хотел бы сделать что-то немного более сложное.
Математика действительно не является моей самой сильной точкой..., но я задавался вопросом, как я мог бы перейти о добавляющей 'перспективе' к UIView (см. изображение ниже). Я быстро дразнил снимок экрана с помощью скошенных опций в Photoshop.
Я взглянул вокруг stackoverflow для решений этого, я нашел, Как я подаю заявку, перспектива преобразовывают к UIView? который работает превосходно - но это не действительно, что я после, потому что высота левых большая часть края больше, чем право большая часть края.
Кто-либо знает, как я мог бы пойти о выполнении этого CATransform3D, но без этих отличающихся высот?
сопроводительный текст http://img594.imageshack.us/img594/4354/perspectivel.png
Если вы просто хотите наклонить, вам не нужно 3D-преобразование. Достаточно аффинного преобразования.
-(void)drawRect:(CGRect)rect {
CGContextRef ctx = UIGraphicsGetCurrentContext();
CGAffineTransform transform = CGAffineTransformIdentity;
transform.b = -0.1;
transform.a = 0.9;
CGContextConcatCTM(ctx,transform);
// do drawing on the context
}
это модифицированное копирование и вставка из проекта с аналогичным преобразованием, но вам может потребоваться настроить параметры a и b. Это даст увеличение 1 из 9 слева направо ( 0,1
/ 0,9
), а уплотнение слева направо до 90% ( 0,9
).