Have you tried using Interface Builder. It sounds like the buttons you are creating are a subview of the MapView. This will most likely cause it to be covered by the map.
open your xib in IB. add a button to it and make sure that it is not contained as a subview of mapView. Drag your button out of mapView, and place it below mapView. not inside mapView.
Hope that helps.