The input and toggle functionality of NGUI are completely separate and are handled by different scripts (UIInput, UIToggle). If I understand you correctly, touching a toggle for you opens some dialog -- what dialog? Assuming you are the one that opens the dialog somewhere from your code, simply track down where you are doing it, and you will have your reason as to why this happens. If you mean the actual on-screen keyboard pops up, then likewise you can add a Debug.Log to the only place in NGUI where this happens -- UIInput. This will let you track down where this comes from.