You are incorrect. You are not required to use native widgets. What it does enforce, however, is that if you use the native widgets, you have to use them in a way that's consistent with the HIG. As a quick example, you shouldn't use a tab bar controller where the tab buttons perform an action on the current view(like save, or cancel). A tab bar controller is only for switching between views.