Если вы пишете код для Mac OS, то приведенное ниже решение Влада подойдет вам просто и элегантно. Mac OS CALayers позволяют добавлять массив фильтров Core Image, которые применяются к содержимому «вживую». iOS нет. Поскольку вы упоминаете UIColor
в своем вопросе, я предполагаю, что ваш вопрос касается iOS.
В iOS Скорее всего, потребуется значительное количество ручного кодирования с использованием фильтров Core Image, чтобы сделать это со слоями. (Вам нужно было бы написать код для захвата содержимого вида, который вы хотите размыть, преобразовать его в CIImage
, передать его в Core Image для размытия, а затем отобразить полученный CIImage
обратно в CGImage
и установите его в свой слой.)
Однако, если вы добавите UIVisualEffectView
к вашему виду, это позволит вам размыть содержимое вида, который находится внизу. A UIVisualEffectView
ОЧЕНЬ прост в использовании. В Интернете есть несколько учебных пособий, которые покажут вам, как их использовать. Вот что я бы предложил.