Вы можете добиться этого, изменив цветную линию следующим образом:
gradient.colors = [
UIColor(white: 1.0, alpha: 0).cgColor,
UIColor(white: 1.0, alpha: 1).cgColor,
UIColor(white: 1.0, alpha: 0).cgColor
]
Или, если вы хотите иметь еще больший контроль над своим градиентом, вы также можете использовать приведенный ниже код и поиграть с местоположение и / или цветные альфа-значения:
let gradient = CAGradientLayer()
gradient.frame = view.bounds
gradient.colors = [
UIColor(white: 1, alpha: 0).cgColor,
UIColor(white: 1, alpha: 1).cgColor,
UIColor(white: 1, alpha: 1).cgColor,
UIColor(white: 1, alpha: 0).cgColor
]
gradient.locations = [0, 0.4, 0.6, 1]
view.layer.mask = gradient
Причина этого в документации;
Необязательный слой, альфа-канал которого используется для маскировки содержимого слоя.
Альфа-канал слоя определяет, сколько из уровня содержимого и фона отображается. Полностью или частично непрозрачные пиксели позволяют базовому содержимому показывать, но полностью прозрачные пиксели блокируют это содержимое.
blockquote>
Возможно, проблема в запросе - у него есть заголовок Faces-Request partial / ajax. Но я не уверен.
blockquote>Это говорит о том, что запрос является ajax-запросом. Вы не можете скачивать файлы по ajax. Запросы Ajax обрабатываются с помощью JavaScript, который по очевидным соображениям безопасности не имеет возможности программно вызывать диалог Save As , а также для доступа к файловой системе клиента / управления файловой системой клиента.
Однако ваш фрагмент кода не показывать, что вы используете ajax. Возможно, вы слишком упростили его или используете ICEfaces, который автоматически активирует ajax для всех стандартных компонентов JSF-команд.
В любом случае вам нужно убедиться, что он не отправляет запрос ajax.
См. также: