Comment puis-je mettre en œuvre UIPageControl en Swift
Ok, donc je suis en difficulté ici et n'ont pas été en mesure de trouver une solution qui fonctionne. J'ai été auto-apprentissage Swift sans Objectif de l'expérience en C (je sais, je sais).
Dans mon application, j'ai mon principal UIViewController
, une sous-vue qui est transparente, mais des diapositives à partir du bas de l'écran, puis 4 sous-vues de la glissant sous-vue qui travaillent tous UIScrollViews. J'ai pagination activé et il fonctionne très bien mais je voudrais ajouter un UIPageControl pour chacun d'eux. J'ai sérieusement ne pouvez pas saisir les délégués et comment mettre en œuvre l'utilisation de swift. Toute aide serait grandement appréciée!
Aussi, je suis en train de faire tout cela par programme, donc pas de l'IB s'il vous plaît. Heureux de fournir le code si ça va aider. Grâce
Vous devez vous connecter pour publier un commentaire.
Je pense que vous et/ou toute autre personne à la recherche de comment faire cela permettra de trouver cette réponse utile. L'exemple de code m'a permis de créer une page de contrôle de l'indicateur sur mon scrollView, et c'était la première fois essayez de faire cela. Je l'ai trouvé très clair.
Les lignes, vous devrez ajouter à votre projet sont:
1: ajouter
UIScrollViewDelegate
comme un protocole lors de la première du nom de votre point de vue de la classe contrôleur.2: dans la déclaration de classe créer un contrôle pagecontrol variable. Vous aurez besoin de jouer avec les numéros d'image pour l'obtenir à apparaître là où vous le souhaitez. les chiffres actuels font qu'un dans le milieu de la fenêtre pour moi.
Pour référence, le nombre moyenne (position x pour le coin en haut à gauche de l'indicateur, y coordonnées du coin en haut à gauche, la largeur de la page de l'indicateur, la hauteur de l'indicateur de page)
var pageControl : UIPageControl = UIPageControl(frame: CGRectMake(50, 300, 200, 20))
dans le viewDidLoad définir la scrollView délégué et de l'appeler " configurePageControl():
vous devez ajouter deux méthodes après le viewDidLoad. l'un est appelé dans le viewDidLoad
et
La scrollView délégué est en fait très simple à mettre en place. Ajouter UIScollViewDelegate en tant que protocole de votre ViewController classe mettra en œuvre par l'ajout, après la déclaration de la classe:
class YourClassName: UIScrollViewDelegate
. Et puis dans le viewDidLoad(), que vous pouvez compléter le délégué de l'installation par l'affectation de défilement de la vue du délégué de la propriété de votre classe avec la lignescrollView.delegate = self
. (de nouveau, voir l'exemple que j'ai lié de si vous avez besoin de plus de précisions de ces commandes)Juste de configuration dans le code comme ceci:
pageControl.currentPage
chaque fois que je changer de page, mais il ne fonctionne pas bien. J'ai 3 pages et l'indicateur de page ne cesse de sauter entre les deux extrêmes, il ne prend jamais la valeur du milieu. Où dois-je mettrepageControl.currentPage
pour qu'il fonctionne correctement?Délégués sont juste les méthodes d'une classe, qui peuvent être écartés d'une autre classe. Ces méthodes sont généralement des rappels.
par exemple, Un rappel pour un TextField, lorsque l'utilisateur appuie sur le retour, peut être mis en œuvre dans un Délégué. Le délégué peut être mis en œuvre dans le ViewController classe.
Maintenant, quand l'utilisateur appuie sur le retour de l'Objet TextField qui fera appel à la méthode du délégué dans le ViewController objet. La grande chose à ce sujet est, vous pouvez accéder à toutes les variables et méthodes de la ViewController objet de la déléguée de la méthode. Sinon vous auriez besoin d'une poignée pour le ViewController objet dans le Champ objet lui-même.
Délégués sont mis en œuvre des protocoles, qui sont simplement des interfaces. Donc, si le ViewController met en œuvre la TextFieldDelegate protocole, tous vos textfield rappels peuvent être appelés dans le ViewController objet.
J'espère que cette aide.
UIPageControl Intégration à l'aide de Swift 4