2017-08-07 3 views
0

Dans mon application, j'utilise des aperçus qui apparaissent lorsque je clique sur un champ de texte, cela fonctionne bien!Swift Trigger cliquez dans le champ de texte

Je voulais faire la même chose lorsque je clique sur un élément du bouton de la barre de gauche. Je ne peux pas le faire avec le bouton car les boutons n'ont pas la propriété inputView, nécessaire pour associer la vue d'ensemble au bouton (dans ce cas). Donc, je veux avoir un champ de texte caché qui est cliqué par programmation lorsque je clique sur le bouton (quand il est cliqué, il affiche la sélection et change le nom du bouton, tout est fait)

Est-ce possible? Le mieux que je peux faire savoir tout est quelque chose comme ça

txtFantasma.perform(
     #selector(becomeFirstResponder), 
     with: nil, 
     afterDelay: 0.1 
    ) 

Il fonctionne très bien, mais le travail juste à la première fois.

EDIT1:

J'ai essayé de le faire avec des boutons ... Le popover est affiché, maintenant je voulais cliquer sur un bouton et de rejeter le popover et transmettre des données à la viewcontroller principale.

class ViewPopup:UIViewController{ 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     } 

    @IBAction func btTituloAsc(_ sender: UIButton) { 

     let next = self.storyboard?.instantiateViewController(withIdentifier: "mainview") as! ViewController 
     next.ordenacao = "TituloAsc" 

     self.present(next, animated: true,completion:nil) 

    } 

} 

Cela fonctionne, mais le contrôleur principal est affiché sans la barre de navigation! Comment puis-je faire la même chose mais montrer de Navigation Bar?

+0

Pour moi, il semble que vous essayez d'appliquer certaines technologies de Microsoft (déclencheurs) à Apple (MVC). En utilisant MVC - qui BTW n'est pas seulement * une chose Apple mais une forme de programmation - pourriez-vous montrer le code de * comment * votre vue sélecteur apparaît lorsque vous appuyez/cliquez sur un champ de texte? Cela nous aidera à vous aider. Vous * ne devriez probablement pas avoir * besoin d'avoir un champ de texte caché pour faire apparaître un sélecteur, mais peut-être ... pas? Merci. – dfd

+0

Le code que j'ai est comme dans cette vidéo https://www.youtube.com/watch?v=81MEUcx-mDA. Le problème est que je veux faire la même chose mais au lieu d'avoir le champ de texte, je veux le faire quand je clique sur un élément de bouton de barre gauche. Ce bouton permettra à l'utilisateur de choisir le type de tri qu'il souhaite pour les données de table – luidgi27

+0

Désolé, mais je ne souhaite pas regarder une vidéo YouTube de cinq minutes. Pourriez-vous être un peu plus précis avec votre problème? Le sélecteur qui fonctionne dans un clavier est-il accessible via ce champ de texte? Si oui, alors * non * vous ne pouvez pas afficher un clavier - personnalisé ou autre - via un bouton de barre. Cependant, vous pouvez faire apparaître une sous-vue qui ressemble à un clavier. – dfd

Répondre

1

La manière la plus simple de le faire est d'afficher le sélecteur en tant que popover lorsque l'utilisateur appuie sur le bouton et change ensuite le titre des boutons en conséquence.

+0

ouais, je pensais à ça .. Je vais essayer de le faire – luidgi27

+0

Faites-moi savoir si vous avez besoin d'assistance – OverD

+0

s'il vous plaît vérifier mon Edit – luidgi27