내 iPhone 앱을 사용하면 지정된 시간 동안 볼 수있는 레이블이 필요합니다. 어떻게 관리하나요?
예를 들어 10 초 동안 표시되지만보기 계층 구조에서 제거되는 레이블을 표시합니까?일정 시간 동안 레이블 표시
미리 도움 주셔서 감사합니다. :)
내 iPhone 앱을 사용하면 지정된 시간 동안 볼 수있는 레이블이 필요합니다. 어떻게 관리하나요?
예를 들어 10 초 동안 표시되지만보기 계층 구조에서 제거되는 레이블을 표시합니까?일정 시간 동안 레이블 표시
미리 도움 주셔서 감사합니다. :)
레이블을 표시하고 NSTimer
을 시작합니다. 타임 아웃 콜백 메서드는 레이블을 숨 깁니다. (나는 이상 적절하지 않을 수 있습니다 뷰 계층 구조에서 제거하는 대신 라벨을 숨기고 있어요.)
코드는 NSTimers and triggers in Obj-C
MyViewController.h에서 내 대답과 비슷하다
...
@interface MyViewController : UIViewController
{
...
UILabel* label;
NSTimer* timer;
...
}
...
MyViewController.m :
...
static const NSTimeInterval TIMER_INTERVAL = 10.0;
...
- (void)dealloc
{
[self stopTimer];
...
[super dealloc];
}
...
- (void)showLabelAndStartTimer
{
label.hidden = NO;
[self startTimer];
}
...
- (void)startTimer
{
[self stopTimer];
timer = [NSTimer scheduledTimerWithTimeInterval:TIMER_INTERVAL
target:self
selector:@selector(timerCallback)
userInfo:nil
repeats:NO];
[timer retain];
}
...
- (void)stopTimer
{
if (timer)
{
[timer invalidate];
[timer release];
timer = nil;
}
}
...
- (void)timerCallback
{
label.hidden = YES;
}
가 viewWillAppear
이 넣어 :
[self performSelector:@selector(hideLabel) withObject:nil afterDelay:0.0];
그리고 hideLabel
에서 16,,이 같은 레이블을 숨기 :
-(void)hideLabel {
yourLabel.hidden=YES;
}
이 곳에서 afterDelay:0.0
에서 당신에 따라 시간을 지정합니다.
감사! 정말 쉬운 접근 방법입니다. 해당 스 니펫을 저장합니다! – thedom
답변 해 주셔서 감사합니다. 정확히 내가 필요로하는 것 :. – thedom