Stop with the treats. No treat should pass directly from your hand to her mouth. Get a hanging fence feeder by the gate or something. If you are going to give a treat, put it in the bucket while you are on the other side of the fence.
As for running into you, I wouldn't smack her on the face, or anywhere. I mean, sure, that's one way to do it, but unless she's lunging at you with her teeth bared you don't really *need* to.
Passive self-training is beneficial here. Let her train herself. It's like I mentioned in the thread with the horse that leans on the bit. Always keep your eye on her. When she come in to nudge/run you over, put out your hand with one knuckle sticking out right in her line of fire. She'll run right into it. "when I do that, it hurts". You have to be persistent, and do it every time she tries it. Let her run directly into that knuckle with her face. She won't see it happen if you're quick enough, but she'll get the negative reaction when she does it. She'll stop, trust me.
This is how I train a horse that likes to rub on people. It takes about 10 minutes. When you've got an itchy horse, go to rub the side of their face for them. They'll inevitably start rubbing back harder. As soon as it happens, let them run into your knuckle, say NO, and stop rubbing. The idea is, I'll rub you, you NEVER rub me. Stand totally still when the horse starts rubbing back. When they stop moving, you start rubbing again. Rinse, repeat.
Owner and head trainer of SE-Wisconsin Horse Care
*Lessons*Training*Farm/Pet Setting*Dog Walking*Equi-Eval*