Thanks ladies. The thing that upsets me most is it's not a once off. If it were I could just get over it, I think. But it's not, and I dont know how to change it. I'm ashamed to admit it but it's true.
I probably smack him on the hand or the bum at least once a day because nothing else works. He refuses to lie still for a nappy change, he refuses to listen when I ask him not to do things, he deliberately moves form one thing to the next that he KNOWS he's not allowed to do. He has heaps of freedom and heaps of toys but he'd prefer to go around being naughty. I KNOW he understands when I ask him not to, because some days he listens, but more often than not he ignores it or does it more. I know he has very little impulse control and it's not his fault, I know this is normal 2 year old behaviour. I used to care for them for a living FGS! Why can't I have the same patience for my own child as I did for 10 other little people?
It's my issue, and I dont know how to fix it I said I'd never smack unless it was a life threatening situation and now I do it every day. So much for gentle parenting.

It's no wonder he never comes near me when he's upset.