Como adicionar uma visão modal em seu aplicativo ios

Na maioria das vezes, o usuário pode controlar o que está acontecendo em aplicativos iOS. Você fornece os botões e outros elementos da interface, mas o usuário escolhe o que fazer e quais os elementos de interface tap. visualizações modais interromper esse controle do usuário. Eles são apresentados no ecrã e, embora o usuário pode tocar dentro deles, eles permanecem frente e no centro até que o usuário descarta-los.

Eles são usados ​​quando você deseja que o usuário fazer alguma coisa ou resolver um problema antes de continuar a usar o resto do aplicativo. O dispositivo não está preso porque o usuário pode usar o botão Início para ir para outro aplicativo, mas, tanto quanto a sua aplicação está em causa, é congelado até o ponto de vista modal é indeferido.

A forma mais comum para gerenciar pontos de vista modal está criando um Objective-C protocolo que é adotado pelo controlador apresentando a visão Modal. A visão Modal, quando o usuário tenha selecionado uma ação ou Cancelar, envia uma mensagem para o método delegado do controlador de apresentação. O controlador solicitando, em seguida, descarta o controlador Modal.

Usando essa abordagem significa que, antes que ele descarta o controlador Modal, o controlador de apresentação pode obter todos os dados de que necessita a partir dele. Esse é o padrão que você irá implementar aqui.

Você começa a implementar a visão Modal declarando o protocolo e algumas outras propriedades que você precisa, bem como os protocolos das DestinationController precisa adotar.

Para começar, adicione o código em negrito na Listagem 20-1 para DestinationController.h.

#importar @protocol DestinationControllerDelegate-DestinationController @interface: UIViewController@property (fraco, nonatomic) IBOutlet UITableView* destinationTableView-@property (, nonatomic forte) id delegar-@property (nonatomic, somente leitura) NSUIntegerselectedDestination-- (IBAction) cancelar: remetente (id) - d@protocol DestinationControllerDelegate@requeridos- (Void) destinationController:(DestinationController *) controladordidFinishWithSave: (BOOL) Salvar--d

A linguagem Objective-C proporciona um modo para declarar formalmente uma lista de métodos (incluindo propriedades declaradas) como um protocolo. Você já usou protocolos fornecidos pelo quadro extensivamente neste livro, e agora você está definindo o seu próprio protocolo.

Video: Como criar um aplicativo para celular gratis (Android e Iphone) | Pixel Tutoriais

Você declara protocolos formais com a @protOCOL directiva. Você declarada DestinationControllerDelegate protocolo com um método, destinationController: didFinishWithSave:, que é necessária. Necessário é a inadimplência se você queria declarar métodos opcionais, você usaria a palavra-chave @opcional, e todos os métodos a seguir a palavra-chave seria opcional. Por exemplo, considere o seguinte:



@protocol SimpleDelegate @ opcional- (void) DoNothing - d

Você pode ter os dois @requeridos e @opcional métodos em um protocolo. É comum a agrupá-los, mas você pode intercalar-los se quiser.

Se nenhum @requeridos ou @opcional é especificado, @requeridos é assumido. No entanto, é melhor ser específico sobre o que é necessário eo que é opcional. o @protocol DestinationControllerDelegate: declaração (no topo) diz ao compilador que um protocolo está a caminho. Como o @classe declaração, ele diz: “Confie em mim, você vai encontrar o protocolo.” Você precisa disto aqui apenas porque você adicionado este:

@property (, nonatomic forte) id delegar-

Esta declaração diz ao compilador para digitar verificar tudo o que você atribuir a delegar ter certeza de que ele implementa o DestinationControllerDelegate protocolo.

Video: How To Submit An App To App Store With xCode 8

Também acrescentou o selectedDestination propriedade, que você vai usar na ViewController para determinar qual destino o usuário selecionado. Observe que você tiver feito isso somente leitura porque não há nenhuma razão para qualquer outro objeto para ser capaz de defini-lo.

Você também aprovou dois protocolos da estrutura Cocoa Touch, UITableViewDelegate e UITableViewDataSource, que você vai usar para gerenciar a exibição de tabela.

Em seguida, você vai precisar para atualizar o DestinationController implementação com o código em negrito para alguns arquivos de cabeçalho que você precisa para usar mais tarde.

#importar "DestinationController.h"#importar "DetailViewController.h"#importar "AppDelegate.h"@interface DestinationController () -d @ DestinationController implementação

Agora que você tem o encanamento, você pode olhar para o que vai continuar na DestinationController.


Publicações relacionadas