Comment puis-je augmenter le Robinet de la Zone pour UIButton?
- Je utiliser UIButton
avec mise en page automatique. Lorsque les images sont petites, l'touchez la zone est également de petite taille. Je ne pouvais imaginer plusieurs approches pour résoudre ce problème:
- augmentation de la taille de l'image, c'est à dire, placez une zone transparente autour de l'image. Ce n'est pas bon parce que quand vous la position de l'image, vous devez garder à l'extra bordure transparente à l'esprit.
- utilisation CGRectInset et augmenter la taille. Cela ne fonctionne pas bien avec mise en page automatique, car l'utilisation de l'auto mise en page, il va revenir à la taille originale de l'image.
À côté des deux approches ci-dessus est-il une meilleure solution pour augmenter le robinet de la zone de UIButton?
Vous devez vous connecter pour publier un commentaire.
Vous pouvez simplement ajuster le contenu de l'encart de la touche pour revenir à la taille désirée. Dans le code, il ressemblera à ceci:
Dans interface builder, il ressemblera à ceci:
Très facile. Créer un personnalisé UIButton classe. Ensuite remplacer pointInside la méthode... et changer la valeur que vous voulez.
Il faudra plus de 10 points de contact de la zone de tous les côtés.
Vous pouvez régler le bouton EdgeInsets dans le storyboard ou via le code. La taille du bouton doit être plus grand dans la hauteur et la largeur de l'image défini sur le bouton.
Remarque: Après Xcode8, réglage de contenu de l'encart est disponible en taille inspecor
Ou vous pouvez également utiliser l'affichage de l'image avec robinet geste sur elle pour l'action tout en appuyant sur l'image de la vue. Assurez-vous de cocher l'Interaction de l'Utilisateur Activé pour imageview sur la table de montage séquentiel pour un geste sur le travail.
Faire d'affichage de l'image plus grande que l'image de jeu sur celui-ci et l'ensemble de l'image sur elle.
Maintenant, choisissez le mode d'affichage de l'image l'image au centre sur la table de montage séquentiel/interface builder.
Vous pouvez cliquer sur l'image pour faire l'action.
L'espoir qu'il sera utile.
Je confirme que Syed la solution fonctionne bien, même avec mise en page automatique. Voici la Swift 4.x version:
Swift 4 • Xcode 9
Vous pouvez sélectionner par programmation comme
Image Pour La
Pour Le Titre -
Sous-classe
UIButton
et d'ajouter cette fonctionJe ne suis pas sûr, mais il devrait y avoir un moyen de spécifier la taille minimale pour tout UIView, qui pourrait résoudre votre problème avec un supplément de travail. Mais honnêtement, ajouter de l'arrière-plan transparent autour de l'image est la meilleure solution.