2012-09-07 2 views
2

У меня возникли проблемы с добавлением слоев CA поверх NSTextView. Я хочу иметь возможность добавлять небольшие «пузыри» (например, в Xcode) в текстовое представление, поэтому я думал о том, чтобы делать это с помощью основной анимации. Когда я включить режим слоя поддерживается в представлениях -awakeFromNib [self wantsLayer:YES] и добавьте пустой CALayer в качестве корневого слоя [self setLayer:rootLayer], содержание зрения получает полностью уничтожен со случайным мусоромОшибка NSTextView и Core Animation Рисунок

Random garbage

Если установить цвет фона на корневой слой, который хорошо показывает цвет. Так почему-то текст за прозрачным слоем не перерисовывается? Или это другая проблема?

EDIT: Here is an example project producing something similair (по крайней мере, на 10,8)

Jonas

+1

Можете ли вы поделиться некоторым кодом (может быть, метод, в котором вы добавляете ассоциированный слой с представлением)? – clearwater82

+0

Я отредактировал сообщение со ссылкой на почтовый индекс, содержащий проект, который воспроизводит ошибку. –

ответ

3

Оказывается, что вы не можете заменить слой NSTextView, но только добавить вложенные слои. Итак, заменив линию self.layer = rootLayer на [self.layer addSubLayer:rootLayer] работ.
Замена слоя разрушает рисунок NSTextView.

Смежные вопросы