Edgesforextendedlayout navigation bar color


Problema Meu aplicativo parece ter sido exibido corretamente, mas não consigo atingir o efeito translúcido embaçado pelo qual o iOS 7 é famoso. O meu parece opaco. Efeito desejado Estou tentando obter um efeito de desfoque mais óbvio, como o aplicativo Apples Trailers: Translucency Na minha subclasse de UINavigationController, tornei a barra de navegação translúcida: Color Tint Na minha subclasse de UIApplicationDelegate, defino a cor da tonalidade da barra de navegação. Eu descobri que o alfa da cor da tonalidade não faz diferença. Ou seja, usar um alfa de 0,1 não faria com que a barra se tornasse mais translúcida. Bordas No meu controlador de exibição de conteúdo, eu configurei a borda como UIRectEdgeNone para que a parte superior não seja cortada pela barra de navegação. Se eu fosse usar o padrão UIRectEdgeAll. a barra de navegação cobriria permanentemente o topo do meu conteúdo. Mesmo se eu fosse viver com essa anormalidade, o UIRectEdgeAll ainda não ativaria o efeito de translucidez. Edit: Experimentando com Edges Anúncio apontado por rmaddy nos comentários, o problema pode ser com o edgesForExtendedLayout. Eu encontrei um tutorial abrangente edgesForExtendedLayout e tentei implementá-lo: ele não funcionou. Em primeiro lugar, não houve efeito de translucidez. Em segundo lugar, o topo do meu conteúdo foi cortado. Na página de exemplo a seguir com o código acima, o avatar foi inicialmente coberto pela barra de navegação e foi muito difícil rolar para ele. Você poderia puxar para baixo para ver o topo do avatar, mas quando você deixar ir, a página retornaria automaticamente e o avatar ficaria obscurecido novamente. perguntou novembro 14 13 às 1:19 rmaddy. A captura de tela veio no iPhone 5 com o iOS 7.0.3 com a configuração quotreduce animation do sistema desativada. Usar o UIRectEdgeAll padrão torna a parte superior e inferior da exibição de conteúdo presa nas barras de navegação e de tabulação, conforme aprendi nesse thread. Eu tentei o padrão UIRectEdgeAll e não faz diferença nos efeitos especiais. ndash Pwner Nov 14 13 at 1:51 2 Respostas O problema foi causado pela exibição pull-down-to-refresh de terceiros EGORefreshTableHeaderView. que foi popularmente usado antes do iOS 6 introduzir o controle de atualização do sistema. Essa visão confunde o iOS 7, fazendo com que ele ache que o conteúdo é mais alto do que realmente é. Para iOS 6 e 7, Ive condicionalmente passou a usar o UIRefreshControl. Agora a barra de navegação não cortará meu conteúdo. Eu posso usar o UIRectEdgeAll para fazer meu conteúdo passar por baixo da barra de navegação. Finalmente, tingi minha barra de navegação com um alpha menor para obter o efeito de translucidez. respondeu 15 nov 13 em 0: 16Como parar sua visualização sob a barra de navegação usando edgesForExtendedLayout Disponível a partir do iOS 7.0A partir do iOS 7.0, todas as exibições vão automaticamente atrás das barras de navegação, barras de ferramentas e guias para fornecer o que a Apple chama de quotcontextquot O que está embaixo da interface do usuário (embora borrada com um efeito de vidro fosco) dá aos usuários uma ideia do que mais está fora da tela. Se isso está ficando no seu caminho (e honestamente ele fica no caminho surpreendentemente frequentemente), você pode facilmente desabilitá-lo para um determinado controlador de visão, modificando sua propriedade edgesForExtendedLayout. Por exemplo, se você não quiser que um controlador de visão vá atrás de barras, use este: Esta solução funcionou para você Por favor, passe adiante Outras pessoas estão lendo Sobre a Swift Knowledge Base Isso faz parte da Base de Conhecimento Swift. uma coleção de soluções gratuita e pesquisável para perguntas comuns sobre o iOS. Leve seu aprendizado do Swift para o próximo nível: compre o e-book Hacking com Swift e receba material bônus para ajudá-lo a aprender mais rápidoNavigationRender Emitir Eu arquivei outro relatório de bug (bugzilla. xamarin / showbug. cgiid24500) para a edição original. Esse bug pode dificultar o que você está tentando fazer, mas depende exatamente do que você precisa. Se você quer apenas que a cor esteja certa, então você pode configurar a cor de fundo da NavigationPage para ser a mesma das páginas que você está empurrando para ela. O conteúdo das páginas ainda será iniciado abaixo da barra de navegação, mas como a cor do plano de fundo da página corresponde à cor do plano de fundo da própria página de navegação, ela parecerá correta. Veja a captura de tela anexada. A parte difícil é se você quiser que o conteúdo role (verticalmente) e se mova sob a barra de navegação enquanto ele rola (FWIW, se é isso que você está tentando fazer, da próxima vez que você realmente mencionou isso desde o início). Nesse caso, você precisa da visualização de rolagem para preencher a tela e ter seu ContentInset. Top configurado para a altura da barra de navegação mais a altura da barra de status. Isso geralmente pode ser feito automaticamente, definindo AutomaticallyAdjustsScrollViewInsets como true no controlador de exibição. No entanto, isso não funcionaria com o estado atual do Xamarin. Forms por causa do bug que eu fiz o link acima. O NavigationRenderer está tornando sua visualização muito curta, por isso não pode preencher a tela. Eu pensei sobre isso um pouco, mas até agora eu não consigo encontrar uma maneira de contornar esse bug. Qualquer atualização sobre este problema Estou tendo exatamente o mesmo problema - basicamente definir a exibição de navegação como translúcido não funciona ou atrapalha as coisas. Eu acho que o bug se perdeu porque foi deixado no estado NEEDINFO. Eu empurrei de volta para o estado CONFIRMADO. estou enfrentando o mesmo problema, alguém que resolveu o problema ainda Usando o renderizador customizado altere a propriedade da área de contenção Ele funcionou. muito obrigado Dheeraj Singh Isso é apenas ouro com o prazo de entrega Eu quero comprar uma cerveja Eu quero te comprar uma cerveja Eu gostei da versão original (typo) disso (capturado em notificações por e-mail): Eu quero comprar você Eu não consigo entender o que mudou, mas no último Xamarin. Forms 2.3.1.114, eu não posso mais recuperar a propriedade ContainerArea (é sempre nula). Qualquer pensamento sobre isso mesmo para mim. Propriedade é sempre nula. Ainda tem um espaço em branco na parte inferior da página. Por favor, tente com o código abaixo. classe pública NavigationPageRenderer. NavigationRenderer Obrigado DheerajSingh, funciona perfeitamente com o seu último trecho de código

Комментарии