Ios 关闭子视图时如何设置计时器
我试图打开两个子视图,并在此时关闭,所以我尝试这样做Ios 关闭子视图时如何设置计时器,ios,objective-c,uiview,uiviewanimation,handshake,Ios,Objective C,Uiview,Uiviewanimation,Handshake,我试图打开两个子视图,并在此时关闭,所以我尝试这样做 - (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event { if(event.type == UIEventSubtypeMotionShake) { [self shakeView]; //[self open]; } } -(void)shakeView { [UIView animateW
- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event
{
if(event.type == UIEventSubtypeMotionShake)
{
[self shakeView];
//[self open];
}
}
-(void)shakeView
{
[UIView animateWithDuration:2.8
animations:^{
//OPEN
firstView.frame = CGRectMake(0, -40, self.view.frame.size.width, self.view.frame.size.height/2);
secondView.frame = CGRectMake(0, 260, self.view.frame.size.width, self.view.frame.size.height/2);
// Its final location
}
completion:^(BOOL finished) {
// Closed
firstView.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height/2);
secondView.frame = CGRectMake(0,230 , self.view.frame.size.width, self.view.frame.size.height/2);
}
];
}
我需要两个视图更改的位置,然后到达相同的位置,但当我调用这两个方法时,打开速度很慢,但关闭速度很快
所以请任何人帮我,如何设置定时器时关闭视图
提前谢谢 你的结束部分
firstView.frame=CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height/2);
secondView.frame=CGRectMake(0,230 , self.view.frame.size.width, self.view.frame.size.height/2);
不在动画块内。打开的持续时间为2.8秒,但关闭将在没有任何持续时间的情况下执行
将结束部分放在另一个动画块中
[UIView animateWithDuration:0.4 animations:^{
firstView.frame=CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height/2);
secondView.frame=CGRectMake(0,230 , self.view.frame.size.width, self.view.frame.size.height/2);
}completion:^(BOOL finished){
}];
希望这有帮助:) 试试这个
-(void)shakeView
{
[UIView animateWithDuration:2.8
animations:^{
//OPEN
firstView.frame =CGRectMake(0, -40, self.view.frame.size.width, self.view.frame.size.height/2);
secondView.frame =CGRectMake(0, 260, self.view.frame.size.width, self.view.frame.size.height/2);
// its final location
}
completion:^(BOOL finished)
{
//Closed
[UIView animateWithDuration:0.5 animations:^{
firstView.frame=CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height/2);
secondView.frame=CGRectMake(0,230 , self.view.frame.size.width, self.view.frame.size.height/2);
}];
}];}
谢谢回复,请告诉我如何设置定时器关闭部分duration@user3678584>将关闭部分放置在动画块中。