私の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
で、あなたのラベルを隠し、:
-(void)hideLabel {
yourLabel.hidden=YES;
}
は、この場所でafterDelay:0.0
であなたに応じて時間を指定します。
ありがとう!これは本当に簡単なアプローチです。そのスニペットを保存します! – thedom
ありがとうございます!まさに私が必要とするものはありますか? – thedom