나는 UINavigation 바의 색깔을내비게이션 컨트롤러의 원래 색 복원
self.navigationController.navigationBar.tintColor = [UIColor redColor];
에 의해 빨간색으로 바꿀 것입니다. 그러나 몇 초 후에 그것을 UINavigation bar의 기본 색상으로 복원하고 싶습니다. 도와주세요
나는 UINavigation 바의 색깔을내비게이션 컨트롤러의 원래 색 복원
self.navigationController.navigationBar.tintColor = [UIColor redColor];
에 의해 빨간색으로 바꿀 것입니다. 그러나 몇 초 후에 그것을 UINavigation bar의 기본 색상으로 복원하고 싶습니다. 도와주세요
문제를 단순화하는 경우 실례지만, 기본 색상을 변수에 저장하고 필요할 때 다시 설정할 수 있습니다.
performSelector 호출을 사용하여 색상 변경을 지연시킬 수 있습니다.
즉
//save the default color into a previously declared UIColor variable
defaultColor = self.navigationController.navigationBar.tintColor;
//set the new color
self.navigationController.navigationBar.tintColor = [UIColor redColor];
//set the restore method to fire in 3 seconds
[self performSelector:@selector(restoreNavColor) withObject:nil afterDelay:3.0];
및
어딘가에 클래스;- (void)restoreNavColor {
self.navigationController.navigationBar.tintColor = defaultColor;
}
이전에 탐색 표시 줄의 기본 색상을 수정했는지 여부에 관계없이이 기능이 작동하므로 요구 사항에 맞아야합니다.
색상을 이와 같이 nil로 설정하십시오. 아마도 도움이 될 것입니다.
self.navigationController.navigationBar.tintColor = nil;
당신은
이 중 하나를 사용할 수 있습니다;
self.navigationController.navigationBar.tintColor = nil;
self.navigationController.navigationBar.tintColor = [UIColor clearColor];
감사합니다,
사티
를 사용하여 몇 초 후에 메소드를 호출하는 코드 ...
NSTimer * 타이머 = [NSTimer scheduledTimerWithTimeInterval : (1.0) 대상 : 자기 selector : @selector (changeColor) userInfo : nil repeats : YES];
[timer fire];
changeColor 메서드는 색상을 기본값으로 변경 한 다음 타이머를 무효화합니다.
안녕하세요, 저는 그가 색상을 기본값으로 변경하는 방법에 대해 질문하고 있다고 생각합니다. – Satya
그래 ....하지만 그는 "몇 초 후에"언급했다. tatz 왜 NSTimer를 사용하여 코드를 썼는가? – booleanBoy
NSTimer를 사용하여 몇 초 후에 색상을 변경하십시오. – booleanBoy