2012-12-11 3 views
0

iOS 용으로 xcode에서 프로그램을 프로그래밍 중입니다.사용자 상호 작용 후 화면 새로 고침

- (void)buttonAction:(UIButton*)sender{ 

    UIView *figure = (UIView *) [figures objectAtIndex:sender.tag]; 

    [figure.layer setBorderWidth:2.0f]; 
    [figure.layer setBorderColor: [UIColor greenColor].CGColor]; 
    sleep(1); 
    [self cleanScreen]; 

} 

- (void) cleanScreen { 

    //Some code to hide all view objects 

} 

나는 그 항목이 cleanScreen 기능에 의해 삭제되기 전에 1 초 동안 화면에 반영하는 테두리 색상과 폭을 변경 희망 :이 같은 코드가 있습니다. 그러나 이러한 변경 사항은 반영되지 않고 소비 된 두 번째 요소는 삭제됩니다.

cleanScreen이 호출되기 전에 화면을 새로 고침하고 싶습니다.

원하는 효과를 얻으려면 어떻게해야합니까?

미리 감사드립니다.

답변

3

대신 :

sleep(1); 

사용 : sleep()

[self performSelector:@selector(cleanScreen) withObject:nil afterDelay:1]; 

당신이 전체 응용 프로그램을

+0

니스 솔루션을 동결하고 있습니다! 그러나 나의 어법에 매개 변수가있는 경우 어떻게 할 수 있습니까 (예 : interger). [self performSelector : @selector (cleanScreen : 1) withObject : nil afterDelay : 1]; 작동하지 않습니다. 또는 예를 들어 지연 호출하려는 다른 viewcontroller 경우 : [self.view addSubview : self.bMar.view]; –

+1

함수가 오직 하나의 매개 변수 만 가지고 있다면'withObject :'인자 대신'nil'을 사용하여 보낼 수 있습니다. 값이 – tkanzakic

+0

인 NSNumber를 만듭니다.보기에 관한 설명을 이해하지 못합니다. – tkanzakic

관련 문제