Ok, I fixed hitTest using textView's own frame. Since point from hittest was giving me location based on textView's bounds,
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
//Real location of point in superview
CGPoint pointInEditingView = CGPointMake(self.frame.origin.x+point.x, self.frame.origin.y+point.y);
then I checked if there are other textViews on touch location with larger zPosition value, and returned nil if there were