Arrasto um botão redondo reto para a posição do item do botão de barra direito e defino uma imagem para o botão redondo reto. Tudo funciona bem, exceto o aviso "Estilo simples não é compatível com um item de navegação". Mesmo se eu selecionar o estilo do item do botão da barra como "Bordado", o aviso ainda estará lá. Qual é o problema com o Xcode 4.2? Desde já, obrigado!
Ps. Eu personalizei muitos itens de botão de barra com o botão redondo reto, algumas vezes o Xcode 4.2 mostra apenas um aviso em um item de botão de barra, outras vezes mostra avisos em todos os itens de botão de barra.
Respostas:
Consegui remover esses erros editando manualmente os arquivos do storyboard e encontrando o estilo ofensivo = entrada "simples" nos itens do botão da barra no
<navigationItem>
elemento.Alterado de:
Para:
Isso eliminou os avisos ... certo ou errado.
Este pode ser um hack estupendo e a maior preocupação é que eu não o causei ou removi os itens do botão da barra invisível do documento geral. Isso foi depois de passar por todos os elementos um por um e descobrir que algumas barras de navegação estavam vazias (sem filhos) e provavelmente ocorreu com a grande quantidade de herança copiar e colar (cmd + c | v) e não usar duplicata (cmd + d) para construir a interface. Embora a causa de origem não fosse a raiz, o sintoma era que os itens da barra não eram mostrados na "visualização do esboço" do documento para serem corrigidos. O comportamento do Interface Builder às vezes me parece nuançado e um contêiner vazio onde deveria haver algo em uma visualização de contorno é um cheiro. Bem, é para mim agora. Às vezes, a exclusão do nó problemático e a reconstrução corrigem os problemas mais estranhos.
AVISO: faça backup de seus storyboards antes de tentar isso ... o controle de versão é seu amigo ... Não assumo qualquer responsabilidade quando seu storyboard estiver completamente bloqueado e não for compilado. Tudo o que você obterá é um "Eu avisei!" Aprendi da maneira mais difícil algumas vezes, mas o controle de fonte diligente me salvou de uma dor de cabeça.
EDIT: coloque colchetes em blocos de código
fonte
style="plain"
do código-fonte do storyboard. Então, para mim, essa sugestão de Hunter parece legítima.Caso você clique no aviso e não vá para o item de navegação incorreto, faça o seguinte. (representação visual da resposta de Hunter com método mais seguro a partir de comentários adicionados)
No navegador de arquivos, clique com o botão direito no storyboard e selecione
Open As Source Code
Na página de código-fonte, pesquise "simples" e encontre aquele anexado a um Item de Navegação.
Para obter o nome da Visualização, coloque "cena" na barra de pesquisa e clique na seta de pesquisa para trás para pesquisar a primeira instância dessa tag acima do
navigationItem
Aqui está o nome da sua cena, agora você pode alterar a visualização do Storyboard de volta
Interface Builder - Storyboard
com o método de clique com o botão direito descrito acima e, a seguir, selecione a cena no menu da cena e o item de barra dentro dela.Vá para o inspetor de Atributos e altere o estilo de
Plain
paraBordered
fonte
Eu parei o aviso sobre o estilo simples examinando o esboço do documento. Isso estava mostrando meu item de navegação e, dentro dos 2 itens do botão da barra, e dentro de cada um deles, um botão. A configuração ofensiva estava no item do botão da barra. Em seu inspetor de atributos, mudei de Estilo de Simples para Concluído e o aviso foi embora. Nota: Estou usando o XCode 5.
fonte
Se você estiver usando o storyboard, clique no aviso e ele deve levá-lo ao item de navegação ofensivo (eu tinha dois para o problema, um me levou lá e o outro não) - mude o estilo e limpe o projeto.
fonte
backBarButtonItem
leftBarButtonItem
erightBarButtonItem
sãoUINavigationItem
objetos. Não hástyle
propriedade, porUINavigationItem
isso este é o motivo do aviso. Você deve definir os barButtons de forma programática:iOS 4:
Para iOS 5+:
Leia a seção "Customizing Appearance" da referência UIBarButtonItem .
fonte
Na barra de navegação, tente usar UIBarButtonItem em vez do botão Reto redondo e defina uma imagem para ele.
fonte
No meu caso, era a imagem de uma seta para trás, definida como "Simples".
A mensagem de erro aparece para se referir a todos os itens na barra de navegação.
fonte
Depois de ter certeza de que todos os seus botões de barra no storyboard estão configurados para qualquer coisa, menos simples, certifique-se de fazer um git commit e excluir os dados derivados. Passei uma eternidade tentando descobrir por que o problema não estava se corrigindo, e a exclusão da pasta de dados derivada consertou para mim.
fonte