Tamanho máximo de Cashapelyer?
-
26-09-2019 - |
Pergunta
Estou tentando desenhar uma forma semi-transparente sobre uma imagem.
tenho uma UIView
o que tem o conteúdo da camada definido para a imagem, com um CAShapeLayer
Sub-camada cujo caminho está definido para a forma. Existem alguns deles UIViews
dentro de um pai UIView
, que é o zoom filho de um UIScrollView
.
Tudo está bem no iPhone, mas quando eu zoom no iPad, o UIViews
ficar bastante grande e o CAShapeLayers
desaparecer. As imagens exibem bem. Eu imaginei que o problema era um problema de tamanho, então divida o CAShapeLayers
Em dois, de modo que havia um lado esquerdo e direito. Agora, os dois são mostrados, a menos que o usuário seja ampliado muito longe, por exemplo, enquanto "não enrolam" além do meu zoom máximo, pouco antes de se recuperar.
Dividindo meu CAShapeLayers
Além disso, é factível, mas um pouco complicado. Então, eu tenho algumas perguntas:
- Existe uma restrição de tamanho máximo para
CAShapeLayers
? Por que não se aplica ao conteúdo da imagem da camada? - Por que são os
CAShapeLayers
re-desenhar durante uma pitada de zoom dentro de umUIScrollView
? Não deveria toda a visão de zoom (oUIScrollView's
criança imediata) ser rasterizado durante a polegada? Como posso fazer isso?
Solução
Acontece que a área máxima no meu computador (um MacBook de 2006) é 1024*1024.
Uma forma de tela cheia no iPad é de 1004 pixels, oferecendo uma largura máxima de cerca de 1044 pixels, por exemplo, se você deseja uma grande forma em uma exibição de rolagem horizontal.
Quando o zoom de salto de pitada, a altura real da forma aumenta, empurrando a largura máxima para cerca de 250 pixels. Isso é mais estreito do que eu gostaria, mas factível.
Isso pode ser diferente em um iPad físico, mas esses são os limites no simulador na minha caixa de dev.