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.
Conteúdo
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) iddelegar- @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) iddelegar-
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.