That's pretty simple to test and explain.
If you get the PhotoPicker sample, and you add a UILabel to the timedPhotoFire:timer method, like this:
- (void)timedPhotoFire:(NSTimer *)timer
{
//ADD THIS LABEL HERE
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(200, 180, 50, 30)];
[label setText:@"Hello!"];
[self.view addSubview:label];
NSInteger cameraAction = [self.cameraTimer.userInfo integerValue];
switch (cameraAction)
{
case kOneShot:
{
// timer fired for a delayed single shot
[self.cameraTimer invalidate];
cameraTimer = nil;
[self.tickTimer invalidate];
tickTimer = nil;
break;
}
case kRepeatingShot:
{
// timer fired for a repeating shot
break;
}
}
}
It doesn't display any label...
So... why???
Note: I have the same problem in my application, but this is the easiest way to reproduce this behavior.