Как вы затухаете нижнюю часть изображения в фоновом режиме? [Дубликат]

Если метод equals() присутствует в классе java.lang.Object, и ожидается, что он проверяет эквивалентность состояния объектов! Это означает, что содержимое объектов. В то время как ожидается, что оператор == проверяет, что фактические экземпляры объекта одинаковы или нет.

Пример

Рассмотрим две различные ссылочные переменные, str1 и str2:

str1 = new String("abc");
str2 = new String("abc");

Если вы используете equals()

System.out.println((str1.equals(str2))?"TRUE":"FALSE");

, вы получите выход как TRUE, если вы используете ==.

System.out.println((str1==str2) ? "TRUE" : "FALSE");

Теперь вы получите вывод FALSE в качестве вывода, потому что оба str1 и str2 указывают на два разных объекта, хотя оба они имеют одинаковое строковое содержимое. Именно из-за new String() каждый новый объект создается каждый раз.

1
задан Ivan Cantarino 3 November 2017 в 14:13
поделиться

1 ответ

Вы можете добиться этого, изменив цветную линию следующим образом:

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

Причина этого в документации;

Необязательный слой, альфа-канал которого используется для маскировки содержимого слоя.

Альфа-канал слоя определяет, сколько из уровня содержимого и фона отображается. Полностью или частично непрозрачные пиксели позволяют базовому содержимому показывать, но полностью прозрачные пиксели блокируют это содержимое.

2
ответ дан enoktate 15 August 2018 в 22:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: