Как отключить отсечение в CALayer? Я переопределяю drawInContext, но хочу иметь возможность рисовать линии, которые выходят за пределы CALayer, и я не хочу делать отдельный проход чертежа на родительском уровне, чтобы это произошло.Отключить отсечение в CALayer
ответ
Вы не можете рисовать, используя Quartz вне границ CALayer или UIView. Как предполагает Ной, вам необходимо расширить границы слоя на заданную величину, чтобы нарисовать это.
Вы все еще можете сделать это, не выполняя рисунок в родительском слое, если для свойства вашего родительского слоя masksToBounds
установлено значение НЕТ. Таким образом, даже если ваш подуровень простирается за край родителя, он все равно будет правильно нарисован.
Ну CALayer
имеет masksToBounds
свойство (которое, установите NO
, отключающую вырезку по умолчанию границ слоя), но я не думаю, что это влияет на рисунок самого-только слоя вырезку из его подслоев. Если вы по какой-то причине не можете развернуть кадр самого слоя, вам нужно будет установить это свойство на этом слое, добавить дополнительный подуровень с размерами, которые вы хотите нарисовать внутри, и переместить код чертежа на этот подуровень ,
- 1. Отсечение изображения в python
- 2. Отключить перерисовку содержимого CALayer при перемещении (iphone)
- 3. Отключить анимацию смены кадров маски CALayer
- 4. Невозможно отключить анимацию CALayer >> removeFromSuperlayer
- 5. избежать отсечение символов в SVG
- 6. отсечение пространственных файлов в R
- 7. Отсечение объект в OpenGL ES
- 8. кварца и отсечение области
- 9. Эффективное Неон Реализация Отсечение
- 10. Отсечение заголовка оси X
- 11. Отсечение прямоугольника с C#
- 12. маска CALayer с другим CALayer
- 13. Привидение в [CALayer drawInContext]
- 14. y тикает отсечение в matplotlib в ipython
- 15. IOS 7 - UITextView отсечение текст
- 16. текста Отсечение с Qt OpenGL
- 17. Отсечение несколько путей из UIImage
- 18. Отсечение происходит, когда MinWidth установлен
- 19. Expectiminimax с альфа-бета отсечение
- 20. Установить отсечение прямоугольника для OpenGL?
- 21. Отсечение диафильма в формате PNG (Delphi 2010)
- 22. Сетка внезапно исчезает в три раза. Отсечение?
- 23. Перекрытие прямоугольников и отсечение внизу в opengl
- 24. Является ли отсечение автоматически в Three.js?
- 25. Отсечение или Стирание области в threejs
- 26. CGContextClipToMask не отсечение изображения в прошивкой
- 27. Отсечение перекрытия в wp7 panorma control
- 28. Как отключить взаимодействие пользователя во время анимации свойства shadowPath CALayer
- 29. Переместить положение CALAyer полностью инкапсулированным супер CALayer
- 30. Проблема в - [CALayer setBorderColor:]
Знаете ли вы, какой бы удар был у этого эффекта? (если есть). У меня есть от 100 до 200 слоев, и это добавит еще 100-200 слоев ... – jjxtra
@JJC - Этот подход не добавит ни одного слоя, просто потребует расширения границ существующих. Это медленнее, чем на больших площадях, но, надеюсь, это будет одноразовая операция. Более крупные слои используют больше памяти, но похоже, что вы просто хотите немного расширить возможности. –
Я вижу, и тогда мне просто нужно будет изменить свой код чертежа, чтобы нарисовать его в центре слоя, а затем провести линию соответствующим образом. Я думаю, что это, наверное, лучшее решение, спасибо! – jjxtra