R.,
Is he eating or always spitting food out? Have you tried telling him "no, no" and taking the food away until the next meal? (I suggest that since you said he's "always" doing it.) He may simply be teething and want to chomp on something. He may be playing games with you. He may have some "sensory" issue - although I don't know much about them.
They say keep offering kids new/different foods they don't seem to like 5-10 times...that's how long it takes for them to recognize "new" foods and like them.
Feed him healthy foods he's already used to. If he spits it out (like he's being defiant) or just being messy, the meal is over. Otherwise, he may just be getting used to the tastes and textures. Try small amounts of new foods and don't expect him to eat much - more taste. Two year olds feeding themselves is a messy endeavor!
I've also heard drs say that we feed our kids WAY TOO MUCH. That they really don't eat a lot. When I talked with my dr about this (because one child is particularly thin/light wt), she laughed and said it's called "camelling" - kids will seem to go on "food strikes". Take a BIG poop, then eat like there's no tomorrow until their systems get all backed up again, and it will start all over again. When my daughter DID chow down, I honestly couldn't feed her enough. She'd cry at preschool, after lunch, that she was still hungry. The ped said to talk to them about making sure she's getting enough fiber at lunch and for me to give her a good fiber breakfast in the morning. When she was not interested in eating she'd play with her food, push it around the tray/plate and overall just get messy. It was her way of saying "I'm done" without knowing to use her words yet.
I hope that helps!
Sara