Saturday 17 December 2016

Edgesforextendedlayout Barra De Navegação Em Css

Meu aplicativo parece ser definido corretamente, mas não consigo obter o efeito translúcido desfocada que iOS 7 é famosa. O meu parece opaco. Efeito Desejado Estou tentando obter um efeito de desfocagem mais óbvio, como Apples Trailers app: Translucency Na minha subclasse de UINavigationController, faço a barra de navegação translúcida: Tint Color Na minha subclasse de UIApplicationDelegate, eu definir a cor de matiz da barra de navegação. Descobri que o alfa da cor do matiz 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. No meu controlador de exibição de conteúdo, eu definir a borda para UIRectEdgeNone para que o top doesnt get cortado pela barra de navegação. Se eu fosse usar o padrão UIRectEdgeAll. A barra de navegação iria cobrir permanentemente o topo do meu conteúdo. Mesmo se eu fosse viver com essa anormalidade, UIRectEdgeAll ainda não permite o efeito de translucidez. Editar: Experimentando com bordas Ad apontado por rmaddy nos comentários, o problema pode estar com o edgesForAxtendedLayout. Eu encontrei um tutorial abrangente edgeForExtendedLayout e tentou implementá-lo: 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 era muito difícil rolar para. Você poderia puxar para baixo para ver o topo do avatar, mas quando você deixar ir, a página automaticamente saltar de volta eo avatar seria obscurecido novamente. Pediu Nov 14 13 em 1:19 rmaddy. A captura de tela veio no iPhone 5 com iOS 7.0.3 com o sistema quotreduce animationquot configuração desativada. Usar o padrão UIRectEdgeAll faz com que a parte superior e inferior da exibição de conteúdo fique preso nas barras de navegação e guia, como aprendi com esse segmento. Eu tentei o padrão UIRectEdgeAll e não faz diferença nos efeitos especiais. Ndash Pwner Nov 14 13 em 1:51 O problema foi causado pelo terceiro-puxar para baixo para atualizar exibição EGORefreshTableHeaderView. Que foi popularmente usado antes iOS 6 introduziu o sistema de controle de atualização. Essa visão confunde o iOS 7, fazendo-o pensar que o conteúdo é mais alto do que realmente é. Para iOS 6 e 7, Ive condicionalmente comutado para usar UIRefreshControl. Agora a barra de navegação não cortará meu conteúdo. Eu posso usar UIRectEdgeAll para fazer meu conteúdo ir debaixo da barra de navegação. Finalmente, tato minha barra de navegação com um alfa menor para obter o efeito de translucidez. Respondeu Nov 15 13 em 0: 16Fixing o iOS 7 Navegação Overlap Barra Problema Houve um problema que tem sido assolando desenvolvedores iOS desde as barras de navegação bastante transparente saiu no iOS 7, algo que quando pergunto às pessoas por que acontece, eles têm Absolutamente nenhuma idéia. Há uma correção simples que todo mundo tem usado, mas é um hack e muitos desenvolvedores acabam de usá-lo sem entender o problema. Coloque isso no seu controlador e de repente ele apenas funciona. Tipo Agora a barra de navegação não tem nenhum ponto para ser transparente, o que derrota o propósito. As visões que devem estar por trás dele, nossa visão de raiz, e sua cor de fundo, não estão mostrando mais. Honestamente, você pode não se importar, isso pode ser o suficiente para você, mas é importante que você ainda entenda o problema, então continue a ler. Se você fez o desenvolvimento da web, isso é sorta como estouro: escondido em CSS. Faz o trabalho, mas ainda é tipo de um quothackquot. Portanto, o problema é que, quando o frame do view39s é definido, ao contrário do iOS 6, o quadro ainda engloba a área embaixo da barra de navegação. O que você pode não ter percebido, é se um UIScrollView. Ou uma subclasse como UITableView. É a exibição de raiz para seu controlador, ele terá a propriedade contentInset de it39s definida corretamente, permitindo que o quadro fique embaixo da barra de navegação, mas a origem real de onde começa a desenhar é da parte inferior da barra de navegação. Isso significa que podemos simplesmente corrigir o problema da sobreposição de barra de navegação, fazendo com que nossa raiz vista um UIScrollView (ou subclasse de) em vez disso, enquanto ainda deixando a nossa cor de fundo brilhar. Você pode tornar a sua visão raiz um UIScrollView definindo o método loadView, onde sua vista raiz, e suas subviews, devem ser criadas se você estiver criando suas visualizações de forma programática. Se você tentar isso, você vai conseguir isso. Observe o vermelho brilhando através da barra de navegação Observe que nós definimos que a origem de blue view39s para ser o canto superior esquerdo Tudo está sentado bem e trabalhando como a Apple esperava que usássemos as barras de navegação transparentes. Isso tem o bônus adicional de nos dar uma maneira mais fácil de expandir nosso layout além da tela também agora que estamos usando uma exibição de rolagem, mas você pode não precisar disso de qualquer maneira, em vez disso você pode usá-lo apenas como um substituto para UIView que pode ter it39s Conjunto contentInset. I haven39t olhou para as diferenças de memória para isso, mas a minha expectativa é que seria extremamente mínimo. Se você quiser saber mais sobre o RubyMotion, confira minhas screencasts em motioninmotion. tv / ou meu próximo livro RubyMotion para Rails Developers. Que está disponível para pré-encomenda agora, com um modelo de preços Pay What You Want, com a parte 1 quase terminada e que deverá ser lançada em breve. O primeiro ecrã do meu aplicativo é um UITableViewController sem uma barra de navegação, o que significa que o conteúdo flui sob a barra de status para que haja um monte de colisões de texto. Ive ajustado tanto as propriedades para Under Top bares e ajustar rolagem vista inserções que realmente impedem-lo de rolagem em, mas ao custo de manter o topo da tabela sob vista. Ive tentou definir o quadro UITableView para compensar por 20 pixels, mas não parece ter efeito. Em seu viewDidLoad adicione estas linhas: iOS 7: UITableView mostra abaixo da barra de status Avaliado por Ricardo Castellanos em 11:48 Avaliação: 5


No comments:

Post a Comment