#iphone #objective-c #cocoa #drawing #nsview
#iPhone #objective-c #cocoa #рисование #nsview
Вопрос:
Я хотел бы иметь NSView, одна сторона которого затухала бы до альфа 0,0f. Какова наилучшая практика для этого? Этот эффект аналогичен растушевке выделения в Photoshop или Pixelmator.
Ответ №1:
Создайте в своем представлении резервный слой хранилища (ознакомьтесь со NSView
wantsLayer
и layer
свойствами). Создайте CAGradientLayer и установите для него маску вашего резервного слоя хранилища.
Комментарии:
1. Будет ли режим просмотра со слоями удалять сглаживание из моего текста?
2. Я не знаю. Попробуйте и убедитесь.
Ответ №2:
Самый простой способ сделать это — нарисовать градиент и drawRect:
вызвать CGContextClipToMask()
в вашем представлении изображение градиента в качестве маски.
Ответ №3:
Создайте изображение в формате .png, которое начинается с прозрачного и затемняется до цвета, который вы хотите, чтобы затемнялся в вашем NSView.
Затем добавьте элемент изображения, который покрывает весь NSView, и отобразите изображение в формате png, созданное вами ранее.
Этого должно хватить.
Комментарии:
1. Я думал об этом, но это был не тот подход, который я действительно искал