Поскольку вы меняете пользовательский интерфейс, я бы предложил использовать основной поток для фактического скрытия метки, но да, это возможно:
NSTimer timer = NSTimer.CreateScheduledTimer(t, delegate{
InvokeOnMainThread(delegate{
label.Alpha = 0.0f;
});
});
(где t - это int для времениВы хотели бы скрыть ярлык!)
РЕДАКТИРОВАТЬ Если вы хотите затемнить ярлык, я бы посоветовал изучить UIView
анимации. См. Справочные документы здесь .Начиная с iOS 4.0+ предлагается использовать анимационные блоки UIView.Чтобы соответствовать вашему примеру, код будет выглядеть так:
NSTimer timer = NSTimer.CreateScheduledTimer(t, delegate{
InvokeOnMainThread(delegate{
UIView.Animate(0.5f, delegate{
label.Alpha = 0.0f;
});
});
});
Первое значение - это продолжительность анимации.Также, чтобы отметить, где я использую эти delegate{}
, вы также можете сделать что-то вроде:
NSTimer timer = NSTimer.CreateScheduledTimer(t, FadeLabelOut());
// later on
void FadeLabelOut()
{
// do your stuff here
}