I just spent some time troubleshooting a group of UIToggles. It turns out that every UIToggle widget was calling my notification script during initialization. I'm using these as a list box, so I'm only interested in the one that's currently selected (why doesn't NGUI have a list box widget, anyway?). Anyway, I realized that my method was being notified for every UIToggle in my panel, even when they were all unselected initially.
I ended up having to add an int parameter to my methods, and have the notification pass in the UIToggle's value. My methods were modified to ignore the notification if the value was 0. It was tedious to have to do this for every single UIToggle in my GUI, though.
Is it possible to add a UIToggle option to only notify when the value is changed to 1? Or perhaps have a UIGroup script that will notify when a UIToggle in its group is selected. That is, the UIGroup would have a list of UIToggles, and notify an object with the index/name/gameobject of the selected UIToggle. Or is there already a way to determine which UIToggle in a group is currently selected?