Нижеследующее должно помочь. Сложная часть является то, что установка anchorpoint после добавления вида с рамой затем перемещает вид. Я обошел это, инициировав UIView без рамки, а затем установив положение, границы и опорную точку своего слоя. Затем я использую ротацию, чтобы повернуть вокруг точки привязки.
CABasicAnimation *rotation;
rotation = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];
rotation.fromValue = [NSNumber numberWithFloat:0];
rotation.toValue = [NSNumber numberWithFloat:((360*M_PI)/180)];
rotation.duration = 60.0;
rotation.repeatCount = HUGE_VALF;
UIView *myview = [[UIView alloc] init];
[self.view addSubview:myview];
[myview setBackgroundColor:[UIColor orangeColor]];
[myview.layer setPosition:CGPointMake(10, 10)];
[myview.layer setBounds:CGRectMake(0, 0, 100, 100)];
[myview.layer setAnchorPoint:CGPointMake(0, 0)];
[myview.layer addAnimation:rotation forKey:@"myAnimation"];
Кто-то, пожалуйста, поправьте меня, если это не самый лучший метод, или если есть ошибки - я только знаю, что я в настоящее время знаю, - например, когда я должен использовать a. или f после поплавка.
Что произойдет, если вы не прокомментируете это? Носовые демоны? –
Читайте здесь http://ronnqvi.st/translate-rotate-translate/ – epatel
В этой ссылке есть несколько примеров, похожих на то, что я хочу. Чтобы яснее понять, одна точка на границе взгляда должна находиться в том же положении в супервизии, даже после поворота представления, например, руки на часах. –