CALayer и view-контроллеры пересекаются с перебоями - PullRequest
0 голосов
/ 20 января 2011

У меня есть контроллер главного окна, который представляет собой NSWindowController (золотой прямоугольник) с scrollview (синий прямоугольник), а также подпредставление, управляемое NSViewController (желтый прямоугольник).

В зависимости от выбора пользователя соответствующий файл пера будет загружен в подпредставление через NSViewController.

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

Одно из представлений также является слоем qtmovielayer, поэтому я создал слой для контроллера основного окна и всех элементов. С помощью слоя удалось получить представление прокрутки перед qtmovielayer.

Когда все работает отлично, это выглядит как изображение слева. однако при запуске приложения в 1/5 раз вид прокрутки появляется за подпредставлением, как показано справа. Я пытался и искал примерно полторы недели, чтобы узнать, почему это происходит, и я становлюсь лысым от слез и потянув за волосы.

Единственные ресурсы, которые я смог найти в сети, - это установка положения слоя z, но проблема все еще сохраняется.

Если у кого-либо есть представление о том, почему это происходит или как решить эту проблему, мы будем очень благодарны. alt text

1 Ответ

1 голос
/ 21 марта 2011

Вы хотите сделать скроллвью (синим) подпредставление подпредставления (желтым).Подвиды всегда отображаются «перед» своим родительским видом.Как и семейная фотография, дети всегда стоят перед родителями :) Итак, используйте метод addSubView в вашем viewDidLoad, отправив золотому виду сообщение addSubview, а не просто добавьте синий ваш основной вид.

...