I had the same problem - my button was highlighted when pressed (tap + hold), and was not - just by tapping. Here is my code:
btn = [UIButton buttonWithType:UIButtonTypeCustom];
UIImage *image =[UIImage imageNamed:@"btn"];
UIImage *imageSelected =[UIImage imageNamed:@"btn_tap"];
[btn setBackgroundImage:transImage forState:UIControlStateNormal];
[btn setBackgroundImage:imageSelected forState:UIControlStateHighlighted];
[btn addTarget:self action:@selector(action:) forControlEvents:UIControlEventTouchUpInside];
-(void)btnPressedWithDelay{
}
- (void) action:(UIButton *)sender{
[self performSelector:@selector(btnPressedWithDelay) withObject:nil afterDelay:0.1];
}
?