Como implementar o controlador achado para geocodificação em seu aplicativo ios
Para sua funcionalidade de geocodificação para trabalhar em seu aplicativo iOS, você vai precisar fazer várias coisas no controlador Find. A maioria do que você precisa fazer gira em torno de obter o texto que o usuário digita. Você também terá que ter o texto geocoded e ter a localização geográfica implementado como um Anotação
Conteúdo
Para acessar o texto, você primeiro precisa criar uma saída para o campo de texto. Siga esses passos:
Selecione Main_iPad.storyboard no navegador do projeto.
Selecione o controlador Master View em Document Outline.
Selecione o Assistente no seletor Editor, e se o MasterViewController.h arquivo não aparecer, navegue até ele usando a barra de salto.
No Document Outline, abra o triângulo de divulgação para a segunda seção Table View no Master View Controller - Scene Mestre para chegar à célula Table View.
Abra o Table View celular para revelar o conteúdo Ver segurando o rótulo Localizar e texto.
Abra triângulo dessa célula para exibir o campo de texto, e depois controlar-arrastar do campo textos Sem Fronteira Estilo para a interface de exibição mestre controlador (no editor Assistant) entre o @interface e -d diretivas de compilador, e adicionar uma saída chamado findText.
Esta é outra maneira de criar a saída.
UMA UITextField objeto é um controle que exibe texto editável e envia uma mensagem ao seu delegado quando o usuário pressiona a tecla Enter. Você normalmente usa um UITextField objeto para permitir que o usuário digite pequenas quantidades de texto e, em seguida, fazer algo com ele - como a busca por algo ou adicionar um novo contato.
Selecione o campo de texto, selecione o editor padrão no seletor do Editor na barra de ferramentas Xcode, e, em seguida, abrir a área de Utility. Você pode definir uma série de propriedades do campo de texto no Inspetor de Atributos.
Como você sabe quando o usuário inseriu algum texto? Além disso, como você começa o teclado para mostrar, e depois esconder?
Video: (RE-UPLOAD) FBI iOS hacking tools released, Big PS4 update, Android Progressive Web Apps
Quando um usuário toca em um UITextField, torna-se o primeiro respondedor, eo teclado sobe automaticamente para permitir que o usuário digite o texto - você não tem que fazer uma coisa para que isso aconteça.
Quando o usuário é feito de introduzir o texto, ele bate na tecla Return - a tecla Return cujo rótulo você conseguiu mudar a percorrer.
Quando a tecla Go é aproveitado, o campo de texto determina se ele tem um delegado e se o delegado tem implementado um textFieldShouldReturn: Método - um dos opcional UITextFieldDelegate métodos de protocolo. Se o delegado tenha feito isso, ele envia o delegado do textFieldShouldReturn: mensagem. assim textFieldShouldReturn: é o lugar para capturar o texto.
Para capturar o texto e enviá-lo para o FindController, você precisa se tornar delegado do campo de texto e implementar o textFieldShouldReturn: método. Mas antes de fazer isso, você precisa de fazer mais uma coisa em Interface Builder.
Video: Your First iOS Enterprise App: From Compile to Final Release
Você começar por fazer o MasterViewController uma UITextFieldDelegate. Atualizar MasterViewController.h com o código em negrito para tê-lo adotar o UITextFieldDelegate protocolo.
#import @interface MasterViewController: UITableViewController@property (, nonatomic forte) DetailViewController * detailViewController- @ propriedade (fraco, nonatomic) IBOutlet UITextField * findText - d
O trabalho pesado vai ser feito no textFieldShouldReturn de TextField: delegar método. O delegado será passado o campo de texto que está sendo editado como um argumento, ea vista controlador Master vai passar isso para o controlador Find.
Video: Sago Mini Werkzeugkasten Spiel für Kleinkinder - iOS App
Primeiro, você tem que atualizar o MasterViewController implementação, adicionando o código em negrito para MasterViewController.m.
#importar "MasterViewController.h"#importar "DetailViewController.h"#importar "AppDelegate.h"#importar "Trip.h"#importar "FindController.h"@implementation MasterViewController
Você vai precisar fazer MasterViewController a campo de texto delegar. Para fazer isso, adicione o código em negrito para viewDidLoad dentro MasterViewController.m.
- (Void) viewDidLoad {[Super viewDidLoad] -AppDelegate * appDelegate = [[UIApplication sharedApplication] delegado] -self.title = appDelegate.trip.destinationName-UIImageView * imageView = [[UIImageView alloc] initWithImage: [appDelegate.trip DestinationImage]] -self.tableView.backgroundView = imageView-UISwipeGestureRecognizer * swipeGesture = [[UISwipeGestureRecognizer alloc] initWithTarget: acção de auto: @selector (handleSwipeGesture:)] - swipeGesture.direction = UISwipeGestureRecognizerDirectionleft; [self.view addGestureRecognizer: swipeGesture] - self.findText.delegate = auto-}
Agora você pode implementar o textFieldShouldReturn: método delegar adicionando o código de MasterViewController.m.
Você notará alguns erros Emissão ao vivo aqui. Você precisará adicionar o findLocation propriedade para o FindController.
- (BOOL) textFieldShouldReturn: (UITextField *) textField {[textField resignFirstResponder] -se ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) {FindController * findController = [[UIStoryboardstoryboardWithName: @"Main_iPad" Bundle: nil] instantiateViewControllerWithIdentifier: @"Encontrar"] -findController.findLocation = TextField.text-DetailViewController * currentDetailViewController-currentDetailViewController = [self.splitViewController.viewControllers LastObject] -se (currentDetailViewController.masterPopoverController = nil!) [CurrentDetailViewController.masterPopoverControllerdismissPopoverAnimated: YES] -self.splitViewController.delegate = findController- findController.popOverButton = currentDetailViewController.popOverButton-findController.masterPopoverController = currentDetailViewController.masterPopoverController-NSMutableArray * = controladores de [NSMutableArray arrayWithObjects: (self.splitViewController.viewControllers) [0], findController, nil] -self.splitViewController.viewControllers = controllers-} else {findController * findController = [[UIStoryboardstoryboardWithName: @"Main_iPhone"Bundle: nil] instantiateViewControllerWithIdentifier: @"Encontrar"] -findController.findLocation = textField.text- [self.navigationControllerpushViewController: findController animado: YES] -} return do Sim}
A primeira coisa que o código faz para você é para enviar uma mensagem para o campo de texto pedindo-lhe para renunciar como socorrista:
[TextField resignFirstResponder] -
Isto tem o efeito colateral de demitir o teclado.
O que você faz em seguida é outro caso em que o que acontece depende se o seu aplicativo está sendo executado em um iPad ou iPhone.
Se você está rodando em um iPad, você instancia FindController a partir de Main_iPad.storyboard.
FindController * findController = [[UIStoryboard storyboardWithName: @"Main_iPad" Bundle: nil] instantiateViewControllerWithIdentifier: @"Encontrar"] -
Você, então, atribuir o texto de campo de texto ao FindController findLocation propriedade (que você vai adicionar em breve para o FindController).
findController.findLocation = textField.text-
Você, então, demitir o popover.
DetailViewController * currentDetailViewController-currentDetailViewController = [self.splitViewController.viewControllers LastObject] -se (currentDetailViewController.masterPopoverController = nil!) [CurrentDetailViewController.masterPopoverControllerdismissPopoverAnimated: YES] -
Em seguida, você atribuir o popOverButton e masterPopoverController Propriedades e fazer FindController Split Ver delegado controlador.
self.splitViewController.delegate = findController-findController.popOverButton = currentDetailViewController.popOverButton-findController.masterPopoverController = currentDetailViewController.masterPopoverController-
Então você simplesmente fazer FindController a nova Visão Detalhada controlador no Dividir a visualização controlador de viewControllers propriedade.
NSMutableArray * = controladores [arrayWithObjects NSMutableArray: (self.splitViewController.viewControllers) [0], findController, nil] -self.splitViewController.viewControllers = controllers-
Note-se que, se for um iPhone você está lidando com, você instanciar o FindController, atribuir o findLocation propriedade, e empurre-o na pilha de controlador de navegação, o que faz com que a vista a deslizar no lugar.
FindController * findController = [[UIStoryboardstoryboardWithName: @"Main_iPhone" Bundle: nil] instantiateViewControllerWithIdentifier: @"Encontrar"] -findController.findLocation = textField.text- [self.navigationControllerpushViewController: findController animado: YES] -
Você finalmente voltar SIM para ter o campo Texto implementar o seu comportamento padrão.