2014-10-13 2 views
1

을 닫을 때 타이머를 설정 내가이 파단을 열려고와 시간에 폐쇄하는 방법을 그래서 내가이를 호출 할 때 나는이 개보기 postions을 변경하고 같은 postions에 올 필요하지만,이는 파단

- (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); 
        } 
    ]; 
} 

같은 시도 두 가지 방법이 느리지 만 매우 빨리 닫힙니다.

그래서 하나가 고급에서보기

감사를 닫을 때 타이머를 설정하는 방법, 제발 도와주세요.

답변

0

이 시도.

-(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); 
    }]; 

}];} 
1

귀하의 결산 부분;

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){ 
    }]; 

희망 ... :)

+0

답장을 보내 주셔서 감사합니다. timer closed part duration을 설정하는 방법을 알려주세요. –

+0

@ user3678584> 애니메이션 블록 안에 닫는 부분을 넣으십시오. – Rashad