0
我得到了分段控制工作,但是當我移動它時,它給了我最奇怪的錯誤。我只能點擊一次,然後停止工作。分段控制動畫後停止工作
這裏是我的動畫代碼,這是搞亂分段控制
- (void)moveUnitsUp:(UIView*) element {
// Create an animation that will change the position of a layer
CABasicAnimation *mover = [CABasicAnimation animationWithKeyPath:@"position"];
[mover setDuration:0.12];
[mover setBeginTime:CACurrentMediaTime()+0];
// Setting starting position
CGPoint initialPoint = [element.layer position];
[mover setFromValue:[NSValue valueWithCGPoint:initialPoint]];
// Setting ending position
CGPoint finalPoint = CGPointMake(initialPoint.x, initialPoint.y - 50);
[mover setToValue:[NSValue valueWithCGPoint: finalPoint]];
// MAKE SURE IT DOESN'T MOVE BACK TO STARTING POSITION
[mover setRemovedOnCompletion:NO];
[mover setFillMode:kCAFillModeForwards];
// Add it to the layer
[element.layer addAnimation:mover forKey:@"BigMove"];
// SET THE POSITION TO THE STARTING POSITION
[element.layer setPosition:finalPoint];
}
非常感謝你的幫助:-)
是控制控制器的self.view的子視圖,或者是一些其他的視圖的子視圖?爲什麼你使用這個方法而不是UIView方法,animateWithDuration:動畫,這將需要更少的代碼? – rdelmar
我認爲這是一個子視圖,我將它添加到故事板中。讓我嘗試一下,但是我仍然想知道爲什麼這不起作用:-S – castillejoale
如果一個控件超出其超視圖範圍,它將不會響應觸摸。如果它在子視圖中,則給該子視圖一個背景顏色,以便您可以查看該控件是否在其外部(或部分在外部)。 – rdelmar