Обновление
Да, в MKMapView будет несколько слоев с рендерингом, поэтому настройка backgroundColor работать не будет. Вы можете попробовать создать подкласс MKMapView, чтобы добавить свойство для включения / выключения этих слоев (удаляя / повторно добавляя их в представление). Но это кажется довольно опасным.
Вы можете попробовать установить "clipsSubviews" MKMApView в значение NO / FALSE и сбросить фрейм в 0,0,0,0. Но это повлияет на вашу способность передавать события Touch в ваши подпредставления.
Вероятно, это лучшее решение для переоценки иерархии ваших представлений. Сделайте что-то вроде:
main-view
map-view
transparent-view
control-1
control-2
etc.
Оригинал
Установите backgroundColor на [UIColor clearColor]