Just use math. You know your touch position in screen space. Get the UI camera via NGUITools.FindCameraForLayer(widget.gameObject.layer), use cam.ScreenToWorldSpace to convert that to world, then widget.transform.InverseTransformPoint(pos) to convert it to local coordinates to your widget. Sin/cos to find your angle, depending on what you need. This isn't an NGUI question but a math question.