Eu tenho um UINavigationController e um UIViewController como seu controlador de vista de raiz. O problema é que o conteúdo do rootVC aparece sob a barra de navegação. Eu tentei: isso funcionou, mas eu quero a barra de navegação para ser transparente e eu quero o conteúdo do rootVC não aparecer por trás da barra de navegação. Mas isso não muda nada. Como posso obter uma barra de navegação transparente onde o conteúdo rola sob ele quando percorrer, mas quando carregar o conteúdo não deve aparecer sob a barra de navegação perguntado 05/05 às 0: 06Starting no iOS7, os controladores de vista usar layout de tela cheia por padrão. Ao mesmo tempo, você tem mais controle sobre como expõe suas visualizações, e isso é feito com essas propriedades: Basicamente, com essa propriedade você define quais lados de sua visão podem ser estendidos para cobrir toda a tela. Imagine que você empurre um UIViewController em um UINavigationController. Quando a exibição desse controlador de exibição é estabelecida, ele será iniciado onde a barra de navegação termina, mas essa propriedade irá definir quais lados da exibição (parte superior, esquerda, inferior, direita) podem ser estendidos para preencher a tela inteira. Vamos vê-lo com um exemplo: Aqui você não está definindo o valor de edgesForAxtendedLayout. Portanto, o valor padrão é tomado (UIRectEdgeAll), portanto, a exibição estende seu layout para preencher a tela inteira. Este é o resultado: Como você pode ver, o fundo vermelho se estende atrás da barra de navegação ea barra de status. Agora, você vai definir esse valor para UIRectEdgeNone. Então você está dizendo o controlador de exibição para não estender a exibição para cobrir a tela: Esta propriedade é usada quando sua exibição é um UIScrollView ou similar, como um UITableView. Você quer que sua tabela comece onde a barra de navegação termina, porque você não vai ver todo o conteúdo se não, mas ao mesmo tempo você quer que sua tabela para cobrir toda a tela ao percorrer. Nesse caso, a definição de edgesForFextendedLayout para Nenhum irá funcionar porque a sua tabela irá iniciar a rolagem onde a barra de navegação termina e ela não vai atrás dela. Aqui é onde esta propriedade vem a calhar, se você deixar o controlador de visualização ajustar automaticamente as inserções (configuração esta propriedade para YES, também o valor padrão) ele irá adicionar inserir para o topo da tabela, para que a tabela vai começar onde a navegação Barra termina, mas o pergaminho irá cobrir toda a tela. Isto é, quando é definido como NÃO: E SIM (por predefinição): Em ambos os casos, a tabela rola atrás da barra de navegação, mas no segundo caso (SIM), começará por debaixo da barra de navegação. Este valor é apenas uma adição aos anteriores. Se a barra de status for opaca, as exibições não serão estendidas para incluir a barra de status também, a menos que este parâmetro seja SIM. Portanto, se você estender sua exibição para cobrir a barra de navegação (edgesForExtendedLayout para UIRectEdgeAll) eo parâmetro é NO (padrão) ele não vai cobrir a barra de status se o seu opaco. Se algo não está claro, escrever um comentário e resposta mal a ele. Como o iOS sabe o que o UIScrollView usa para usar o iOS agarra a primeira subvisão na sua visualização de viewcontrollers, então a que está no índice 0, e se for uma subclasse do UIScrollView, aplica as propriedades explicadas a ela. Naturalmente, isso significa que o UITableViewController funciona por padrão (uma vez que o UITableView é a primeira visualização). Navegação de navegação Full Screen Content e EdgesForExtendedLayout no iOS 7 Uma das diferenças que salta dramaticamente para um programador 8212 especialmente aqueles de nós que tipicamente construímos nosso UIs no código em vez de usar uma superfície de design visual 8212 é o novo 8220full-tela content8221 conceito. Isto é particularmente evidente com UINavigationController s. Esta imagem mostra a diferença entre o modo padrão (UIViewController. EdgesForExtendedLayout UIRectEdge. All) eo 8220iOS 68221-style (UIViewController. EdgesForExtendedLayout UIRectEdge. None). Você pode ver isso no modo UIRectEdge. Todos, o atual retângulo de desenho do UIView 8216s cobre toda a tela 8212, você pode ver as diagonais estender sob a barra de navegação, barra de ferramentas e até mesmo a barra de status, e você pode ver o tom azul vindo até Esses elementos (eles também são desfocados, o que você não pode ver na imagem). 3 pensamentos sobre ldquo Full Screen Conteúdo e EdgesForExtendedLayout em iOS 7 rdquo Larry O8217Brien: Conteúdo em tela cheia e ExtendedEdgesForLayout em iOS 7 8211 t. co/87LsOOon80 xamarin planet
No comments:
Post a Comment