Если вы хотите добавить задержку, вы можете использовать:
[NSThread sleepForTimeInterval:0.5];
Но это заблокирует ваше приложение, поэтому может быть лучше использовать таймер:
//In your method :
[picker selectRow:0 inComponent:0 animated:YES];
[NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(animatePickerTimer:) userInfo:picker repeats:NO];
//In the same class
-(void)animatePickerTimer:(NSTimer *)timer;
{
[self performSelectorOnMainThread:@selector(animatePicker:) withObject:(UIPickerView *)timer.userInfo waitUntilDone:NO];
//Not sure if this is required, since the timer does not repeat
[timer invalidate];
}
-(void)animatePicker:(UIPickerView *)picker
{
[picker selectRow:3 inComponent:0 animated:YES];
}
Это должно быть выполнено в основном потоке, поскольку UIKit не является поточно-безопасным