Projetando interfaces de usuário com o Xcode

A partir do Visual Studio 2019 versão 16.8 e do Visual Studio para Mac versão 8.8, a maneira recomendada de editar arquivos .storyboard e .nib é editando-os no Xcode Interface Builder em um Mac.

Observação

A partir do Visual Studio 2019 versão 16.9, não haverá nenhuma maneira com suporte para editar storyboards do iOS no Windows. Use o Visual Studio para Mac e o Xcode Interface Builder para continuar criando suas interfaces de usuário Xamarin.iOS.

Este artigo aborda soluções comuns para criar interfaces de usuário com o Xcode Interface Builder. Este artigo pode ser particularmente útil se você editou anteriormente suas interfaces do usuário com o Xamarin.iOS Designer.

Para obter um passo a passo mais detalhado dos storyboards, consulte Storyboards no Xamarin.iOS.

Como abrir um storyboard

Abra um arquivo de interface do usuário do iOS no Visual Studio para Mac clicando com o botão direito do mouse em um arquivo de storyboard e selecionando Xcode Interface Builder:

Select Interface Builder

Em seguida, você verá a janela do Xcode aberta. Todas as edições salvas aqui serão refletidas em seu projeto do Visual Studio.

Xcode Window

Para obter mais informações sobre o Xcode Interface Builder, consulte Interface Builder Built-In.

Criando um novo controle

Para criar um novo controle com o Xcode Interface Builder, primeiro selecione o storyboard que deseja editar. Em seguida, abra a caixa de diálogo Biblioteca Xcode (Exibir>Mostrar biblioteca) e arraste o controle para o storyboard.

Library Picker

Em seguida, abra o arquivo de cabeçalho do controlador de exibição correspondente. Para um aplicativo Xamarin.iOS "Single View" em branco, o storyboard padrão é chamado Main.storyboard. O arquivo de controlador de exibição correspondente é chamado ViewController.cs no Visual Studio com um arquivo de cabeçalho ViewController.h correspondente quando exibido do Xcode.

No Xcode Interface Builder, abra o storyboard e o arquivo de cabeçalho do controlador de exibição correspondente. Segurando a tecla Control (^), arraste o controle do storyboard para o arquivo do controlador de exibição até que o Xcode solicite uma caixa de diálogo.

Demo Link Control

Como ilustrado acima, o código C# correspondente será gerado automaticamente no arquivo code-behind do controlador de exibição. Agora você pode acessar esse controle em seu projeto Xamarin.iOS.

Editando o nome de um controle existente

Para editar o nome de um controle existente no Xcode Interface Builder e refletir essa alteração de volta ao seu projeto C#, navegue até o arquivo de cabeçalho do controlador de exibição apropriado, clique com o botão direito do mouse e selecione Refatorar.

Refactor Control

Seu arquivo code-behind será regenerado com o novo nome, permitindo que você acesse o controle via código no Visual Studio para Mac.

Problemas conhecidos

Esta seção aborda problemas conhecidos.

"Visual Studio não pôde se comunicar com o Xcode"

No macOS Catalina ou superior, você pode encontrar o erro abaixo:

cant communicate err

Primeiro, nas preferências do sistema do seu Mac, em Segurança e Automação de Privacidade>, verifique se o Visual Studio está listado e se o Xcode está marcado.

macOS security

Se o Xcode estiver marcado e a mensagem de erro ainda aparecer, talvez seja necessário redefinir as permissões de privacidade do Visual Studio para Mac.

Isso pode ser feito iniciando uma janela de terminal e emitindo o seguinte comando:

sudo tccutil reset All "com.microsoft.visual-studio"

Para garantir que a alteração acima entre em vigor, redefina o PRAM do seu Mac. Para obter instruções, consulte Redefinir NVRAM ou PRAM no Mac.