Как я могу повернуть UIImageView относительно какой-либо точки (кроме ее центра)?

Ваш код использовал ( вместо { во вложении MyDateTimeExpression.

Код ниже модифицируется, чтобы отразить правильное использование набора значений.

on-click{
       intent{
         goal:NewsSearch
           value-set:CategoryName{CategoryName(Sports)}
           value-set:MyDateTimeExpression{$expr(nextWeek)}
       }
    }

. Вы можете посмотреть в документации больше примеров использования набора значений и значений

.

https://bixbydevelopers.com/dev/docs/reference/type/intent.value https://bixbydevelopers.com/dev/docs/reference/type/intent.value -множество

10
задан Brad Larson 16 September 2010 в 17:11
поделиться

1 ответ

Один из способов сделать это - изменить точку привязки нижележащего слоя UIImageView и повернуть ее вокруг себя. Вы можете изменить точку вращения, используя что-то вроде следующего:

imageView.layer.anchorPoint = CGPointMake(0.25, 0.25);

anchorPoint определяется в терминах относительных координат внутри слоя. То есть (0,0) - это верхний левый угол слоя (на iPhone, где слои UIView перевернуты координаты Y), а (1,1) - нижний правый угол.

Перемещение anchorPoint может переместить ваш изображение, поэтому вам может потребоваться изменить его положение позже.

Чтобы повернуть слой изображения вокруг этой новой точки привязки, вы можете изменить структуру CATransform3D для слоя, используя что-то вроде следующего:

CATransform3D rotatedTransform = imageView.layer.transform;
rotatedTransform = CATransform3DRotate(rotatedTransform, 60.0 * M_PI / 180.0, 0.0f, 0.0f, 1.0f);
imageView.layer.transform = rotatedTransform;

В этом примере выполняется пошаговое вращение 60 градусов относительно точки привязки.

По умолчанию все изменения слоя анимируются. Вы можете отключить эту анимацию, заключив свои изменения этих свойств в CATransaction, например:

[CATransaction begin];
[CATransaction setValue:(id)kCFBooleanTrue forKey:kCATransactionDisableActions];    

// Code for changes here

[CATransaction commit];
18
ответ дан 3 December 2019 в 20:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: